Very interesting. This very topic was hit a number of times at last week's GNU hacker's meeting in Göteborg. If we were to come onto the scene now, as it is, and re-found the GNU project, what would the biggest priority be?
To a number of us, it seems that the priority would be to protect user's data and computing experience from the growing centralization of the web. Something like making distributed web applications, with p2p-distributed asymmetric cryptography replacing behind-the-firewall databases, and apps running in sandboxes on users' machines, in the context of their secrets, replacing e.g. facebook.com.
Someone at the conference said it best: it seems that user freedom is really at odds with the client-server model of computation. The corrolary being that net neutrality is necessary but not sufficient -- we need to increase equality of all nodes in the net, including nodes that are now just "end users".
Thanks for the link, looks like good ideas. I'll see what possible engagement there is there.
The thing about the GNU project now -- speaking for myself, not for the project -- is that we have a few hundred really good hackers, and we're done making a Unix clone. We need something new. This kind of thing sounds like a good direction.
But first, we should get rid of the "A" in ADSL. Asymmetric bandwidth is a major contributor of centralization: It makes rapidShare faster than bittorent, and Blogger more convenient than self-hosting, among other things.
More substantially, "platform" usually implies centralization, even if your platform can federate. It's probably more useful to envision a radical solution (<i>to the root</i>), and start thinking about how to get there.
Just like I can run my own blog on my own server with Wordpress instead of needing to have it hosted on Wordpress.com, I wish someone would release an open source webmail client of equivalent quality to Gmail that could be installed on personal servers, would also support XMPP, etc.
Same for other cloud software now. Why not offer it as an upfront purchase price, plus a continuing support contract, with the software running on hardware that the end user has ultimate control over.
Don't forget social networks - I see no reason why we shouldn't be able to host our own profiles along the wordpress/email/xmpp model.
Imagine Facebook and Myspace were just two clients to some form of decentralised social network - then they'd be true competition, no need to go only where your friends are.
It would have to be not just decentralized - but federated in the same way that, say, email is. User is identified as user@facebook.com, or so forth, and other social networks could add said user as a connection to someone on their network (and vice versa) via an API.
Could wave/xmmp be used as an underlying protocol for this?
Xmpp is federated like email: you have a unique identifier like your email address, belonging to the same domain as your xmpp provider. It is callled JabberID or jid and it (almost) looks like an email address and in case of gtalk, it is your gmail address.
So the answer is yes, xmpp (or wave as an extension of it) technically can be used for IM federation, because that's one of the goal of it. But I think the big social networks like to keep their users inside their walled gardens, and rather not let them communicate with users of other networks. Let's hope this will change.
I just forward *@mydomain.com to gmail. Having web software you can put up on your personal server is nice, but it poses a whole different set of challenges to just hosting it yourself.
You have to worry about how to manage copyrights, coming up with a distribution that will work on a wide variety of server configurations, and handling upgrades and customer support gets a lot more complicated. One more problem that I've seen with popular open source programs that run on your server, is that hacker's will look for exploits in the source code, and search the web for sites runnning that program, attacking every one. They can keep using these exploits for a long time, because most of the site owners are too lazy to download the latest upgrades as they come out.
Right now, at least on the low-cost end of the scale, it seems to me like open-source software is usually more up to those challenges.
This is the best distribution model I could think of, if you were going to try to sell software like this. You would try to work out something with cpanel or some hosting companies where users could choose a plan, pay for, and install you're software package and have everything managed right from their hosting admin panel.
If you were going to sell software for personal servers rather than host it yourself, then, I think you should do a lot of thinking about you're target market first, because you'll be causing yourself a lot of headaches. I don't think individuals with personal servers are the best target market for this business model right now either.
I've had decent experiences with Roundcube, if you're looking for a more AJAX-driven client; The versions I've tested were a bit buggy, but that was a few years back, I'm sure it's improved by now.
http://roundcube.net/
Webmail is, I think, a substantially "easier" problem (with the caveat that this is mainly for technically proficient users)
I use gmail for email hosting but it all routes through a domain I control, so if Google one day goes crazy, I can switch out of gmail. (And IMAP is well understood so I could also copy it off), whereas things like my facebook friends are much harder to migrate.
> IMAP is well understood so I could also copy it off
It's probably a good idea to start those backups now with something like offlineimap. You don't want to wait until Google 'goes crazy' or your account is randomly suspended.
Just in case anyone ever wants to be cool like me, I actually sync all my email using Windows Mail (yah, I know, I'm not very cool), which means it shows up in my desktop search as well as in gmail.
Just in general, the backup strategy of storing things in at least two places is the only way to go, and simply knowing in the abstract that I could backup my data if I so chose is meaningless. Make a cron job, sync your home directory, whatever floats your boat, just do it.
(I work at Google, and I am consistently surprised by the amount of effort people put into portability. I think this is important and underappreciated)
Depends on what you're looking for in Gmail. Currently Gmail is the only way to have 'tags' supported. If you truly wanted a similar experience from your email, you'd need a backend that supported tags as well as a web frontend.
That said SquirrelMail, Horde and RoundCube are all open-source webmail apps off the top of my head. RoundCube being the AJAX-y Gmail-ish one.
"we're facing the prospect of Facebook as the platform, Apple as the platform, Google as the platform, Amazon as the platform, where big companies slug it out until one is king of the hill. "
The argument makes a lot of sense, but why is Amazon in this list? It is true that Amazon is in the war for control. But that war is for control of the data center, not for control of the web.
Remember, this is being written by Tim O'Reilly, a person who has reason to know and care about the Kindle's position in the digital-text marketplace and the relative openness (or lack of openness) of the platform.
I agree that Amazon Web Services doesn't seem to belong on this list. AWS is a powerful offering, but it's not as if Amazon has an exclusive lock on the Linux virtual server business. I believe that even their provisioning API is in the process of being cloned in open source.
Ah yes, thanks. Kindle slipped my mind. It makes sense now.
Kindle does have a potential to become a walled-garden ecosystem reminiscent to Apple. There's nothing Kindle wants more than to become an iPod of books and will very likely curb the Web experience on Kindle to suit its business needs.
I would think Amazon deserves to be on that list more than Apple. Apple as a platform doesn't even make sense. What are they doing to become infrastucture for others to build upon, the app store? Amazon made cloud computing popular, did they not?
Edit: My comment reads like I'm getting defensive for Amazon, and or bashing Apple. I'm not.
I would remove Facebook from that sentence, not Amazon.
Amazon, Apple, and Google are three heavyweights with a slightly different focus and strengths, but who find themselves competing more and more often for a sort of internet consumer dominance.
They compete at several platforms:
1. The storefront (iTunes and Amazon, Google's in there as search and recommendations).
2. The datacenter / cloud (AWS, MobileMe, Docs / Gmail / more to come from Google)
3. Mobile devices (iPhone + iPod, Android, Kindle)
There are other companies competing in each of these areas of course, but these three companies really excel at taking over markets (very smart people running them) and it's going to be interesting to see them going head to head as they reach into each others core markets.
Plus I think they'll destroy most other competitors in each of these areas as they battle it out.
Usually they say the future belongs to the kids. I see a lot of kids that live in Facebook these days. They don't read books, they don't buy music online, they don't care much for mail. Facebook definitely has a place among these three.
No doubt you're right. I guess it's just a generational thing. I hear Google, Amazon, iTunes, and I see immediate value.
For some reason, even though I'm aware of all (or at least most) of the arguments that place value in Facebook / Twitter etc. I still wouldn't feel comfortable investing in it. I'm probably dating myself pretty badly, but they look fluffy to me.
Amazon is looking for control of online retail as well, especially with their recent purchase of Zappos. I don't know how this fits in to a battle with the other contenders however.
I think the implication may be swaying over into the box store segment. Meaning, while they may not be battling other online entities, they are doing a lot of pushing against the online presence of several box retailers.
And meanwhile, the whole debate may get t-boned in the intersection by the banning of net neutrality. Only those (large?) partners that make deals with (large?) ISPs get their applications to work fast and smooth (if at all?).
It seems we have several fronts to watch/defend...
I am a little confused when we talk about "The Web" and include applications for mobile devices. I am really more concerned with what HTML5 is capable of and how widely it is implemented. The iPhone, in my mind, is more like the XBox or PSP model of development.
Given that many of these walled garden technologies use web-content within applications (a lot of iphone apps are nothing more than site-specific browsers with minimal custom UI chrome), and that most of them restrict access to programmer and debugging tools (enforced by law on devices that promise DRM to content-providers). An iPhone, an XBox, a PSP or any other device that can serve as a general purpose computer but does not allow the end-user to do so is taking away freedom 0.
You may be willing to make that choice in the short term, for this year's fad gadget, but will you want to be locked into it?
It's one of the better articles that Tim has put out as of late.
I still don't get the angst against Apple and their approach though. If you don't care for it, don't use it - what's the big deal?
Apple has went out of its way to complete a infrastructure and effectively trained it's customers to make purchases in small amounts. From music and etc content, to anything in the App store. That's their ecosystem.
In what other market can you go inside and and just start putting products on their shelf and that be ok? I mean, I'd _love_ to walk into Wal-Mart and put a whole stock of pull-my-finger novelty gifts in aisle 9.
Sarcasm aside, I can't see how developers can bitch about an ecosystem that they're wanting to exploit. Otherwise they'd be building little j2me applications for the RAZR, or apart of the Blackberry ecosystem, or... .
But every other day there's someone new on a blog griping about something they well and truly signed up for. Android is about to be out en mass with the upcoming phones, Blackberry already has a mass of phones.
Teach those users to make purchases in an ecosystem that isn't going to be easy to do so and then leverage it. But to soapbox against Apple just doesn't make sense to me.
He makes a bad analogy because 1) you never needed Microsoft's permission to develop a Windows app and 2) developers on Windows (very nearly) had the "write once, run anywhere" promise that Java still hasn't lived up to taken for granted. Plus there were very low barriers to entry for developers in the Windows world; anyone could knock something up in VB or Access and nearly anyone else could get it to work on their Windows PC with minimal effort. Try doing that on the 50 (100?) Linux distros out there...
There is a very simple solution to getting your stuff to run on many linux distros without too much trouble: static linking.
That's not simple at all. If I want to integrate properly with your desktop, do I write my code against gnome or KDE?
If I statically link against an older (or newer) version of gnome or KDE, will it even interoperate correctly with whatever the user has running on their desktop?
If there's a security vulnerability in what should be a base system library, does every single vendor have to track those issues and release updates to their applications?
No. The right way to support binary compatibility is to define a compatible, stable API and ABI and then support that ABI/API across OS releases and updates.
> The right way to support binary compatibility is to define a compatible, stable API and ABI and then support that ABI/API across OS releases and updates.
With that I fully agree. But I think if the last decade is any indication that in the linux world we are still at least a decade away from achieving that, even though there are plenty of efforts in that direction.
Yeah, esp. since that guy had his fat binary patch rejected.
The wider point is tho', that criticizing a walled garden because it doesn't do something you want, and criticizing it on principle may overlap, but they aren't the same issue at all.
I personally quite like that Facebook is walled off from the real Internet... Go browse the comments on Youtube if you want to see what that's like.
Depends on what you mean by 'walled off.' If Facebook/MySpace were both clients to a larger 'social network' network (think possibly USENET-style, or P2P-style), we wouldn't necessarily have youtube-esque comments showing up everywhere.
Social networks are mainly places for people socialize with friends. When people get onto youtube and start flaming people they are usually not directly flaming their friends (or at least not doing so from a username that their friends will recognize). Things like privacy settings, friend lists, etc are what help to regulate something like Facebook.
If there was a well-defined protocol for pulling/pushing just the information that was needed for a particular profile (say having all of my friends updates pushed to my account on whichever server it's being hosted), then it doesn't necessarily open up this decentralized social network to youtube-style garbage. For you to see the youtube-style garbage you would need to accept the troll onto your network. And even after they were exposed as a troll, you could banish them.
Apple wants to lock you into their market and does so by locking down the platform. If your a fan of free markets, this is going in the opposite direction. A user or a publisher can choose that a 30% "tax" on a transaction (Apple's cut of App Store purchase) is ok but locking you in so that as the market grows you have no choice but to pay the 30% tax is not ok; it violates basic tenants of free market principles.
Apple has a great product today, but going against a free market generally ensures they are likely to not provide the best product/store/platform in the future.
I'm a fan of free markets when they're beneficial to all involved, and in certain cases even when they're not. Even though Apple's model isn't free, I still see it as beneficial to all involved.
Apple's "tax" provides resources and a revenue stream to cover everything from documentation to hosting the free applications. It could also play a part in driving the prices of the phone itself down. It also gives it clear bragging points which it's used quite successfully.
The user benefits from the applications, and one could assume the lack of clutter/meaningless/duplicative applications within the store itself. They also benefit from the "full product" phone->store->apps->payment ecology.
The developer wins because they get to develop towards a product that has a great feature set, an ecology with paying customers and momentum in the product itself.
Windows, Blackberry, Palm et all have all had ways to work with previous products before the IPhone without issue, under the free market approach. No true central registry, no payment ecology, and hasn't gained anything from it directly. Now android is in the mix, and as far as the payments goes, it's not looking too pretty from what's being put out there so far, but it's early yet we'll see.
I'm not defending Apple, I don't even own an Iphone (BB user, contract about up, going to N900). But when someone sits as a developer and continues to blast Apple because it's not open enough (when it's never been "open enough" & when you look how "open" phones before it were...) - it honestly baffles me. If they don't want the Apple "tax", don't play. Through Itunes/Ipod Apple has done something no one else has really done on the web, got users to pay. When the other companies can do the same thing, then we'll see how they do down the road.
Essentially I keep thinking of this. The Texas State Fair rivals as one of the biggest in the United States and doesn't look to lose that anytime soon. It operates in the same persona as Apple does. It selects by committee through applicants on who can be there, you pay a tax (rules, and fees) on how to operate. However, there's a ton of paying people there, so you deal with the rules at hand, because you're getting "fed".
It may not be free in the purest of sense, but griping after going in knowing full well it isn't is idiotic IMO.
Developers don't benefit from having an all powerful middleman inserted between themselves and their users/customers. It's not that Apple just makes the rules. They don't even bother to make proper rules. They just rule.
But you're right, contrary to being born as a subject under some absolute monarch, I can make a choice in this case. My choice as a user and as a developer is not to accept the kind of nasty middleman structure Apple is perfecting.
But I don't embrace the culture of free as much as Tim. If he gets his way, no company would be allowed to profit, everything would be open. Somehow, Google would be the only one to survive in the environment.
Tim is not shocked that Google is giving away for free the GPS software and therefore killing the GPS device makers. It would be anti-dumping if software had a fixed cost, but it doesn't...
Where is the fine-line between playing dirty and being a great contributor to free technologies? Think of it this way: if Microsoft had done the same 10 years ago, they would have immediately been sued for abuse of monopolistic position.
The thought-provoking part of the article is what Tim leaves out. What does an open world look like? Can the world be 100% open, or will there always be large companies fighting to control it? To me, it sounds a little bit utopian to hope or assume that 100% open is possible.
Think of it this way: if Microsoft had done the same 10 years ago, they would have immediately been sued for abuse of monopolistic position.
And that's the difference: Microsoft had a monopolistic position. Open-source doesn't, so much. What's more, open-source isn't even an organization, so it doesn't even make semantic sense to say that it could have a monopolistic position.
Google (specifically) is a different matter. If they become a monopoly, smack them down. It makes little difference to free/open-source software at large, though.
Very interesting article. It's clear that large (non-interoperable) silos are forming across the various aspects of the web -- content, data and infrastructure. Developers should be concerned as this will bring us back to a time where we need to build 3-4 versions of everything. However, the industry changes fast and this competition may open up opportunities for smaller players to fulfill various needs.
Points Tim has got wrong:
- Google and Amazon does not have the platform value as Apple or Facebook has!
- This era is not different from PC era at all. He just does not want or have courage to say it: Google is the new Microsoft. It's doing the exact opposite (of MS) and still locks customers in. If you want free GPS then you MUST buy Android phone from THE carrier(s). Amazon is not on the Google level but if you want to buy (e-)book who would be your choice? Amazon, of course. Does this count as lock-in? Yes it does.
- Microsoft and champion of open web? How will that be so?
It may be so if they realize that the locking, this time, is not in their favour. Then, the only way to avoid death may be advocating an open internet, where lock-in is less likely.
To a number of us, it seems that the priority would be to protect user's data and computing experience from the growing centralization of the web. Something like making distributed web applications, with p2p-distributed asymmetric cryptography replacing behind-the-firewall databases, and apps running in sandboxes on users' machines, in the context of their secrets, replacing e.g. facebook.com.
Someone at the conference said it best: it seems that user freedom is really at odds with the client-server model of computation. The corrolary being that net neutrality is necessary but not sufficient -- we need to increase equality of all nodes in the net, including nodes that are now just "end users".