Web Services and Open Source at OSCON
I spend a lot of time with my head buried in code, and every time I pick my head up it feels like the future is closer than I thought. So I like coming to OSCON. A week of looking ahead leaves me more confident I won't get future shock anytime soon. OSCON, like all conferences, is aimed at corporations, the intangible entities that send humans as their proxies. But open source has its roots in individuals working outside the corporation for their community of programmers. Are the two cultures coming together, or colliding? And how will the "open source ideal" evolve, as the chief social act of programming changes from trading disks of source code to processing each others' data and mashing up web APIs?
I'm an open-source programmer who's lucky enough to be paid by a corporation. Between sessions this week I'm working on turning Slash's metamoderation into a plugin, making Slash more useful for other site admins. I'm a human first and employee second. And I'm concerned about how the community based around this software ideal of not welding shut the car's hood is going to hold together.
Markets aren't designed for goods with zero cost of reproduction, but because property is such a powerful tool for efficiency and prosperity, societies have been artificially constructing markets for creative works since even before the founders wrote up their support for "science and the useful arts." Often, markets in ideas work pretty well.
There have been three societal "bow shocks" in the collision between programming and capitalism. The first hit in 1976 when Bill Gates insisted that charging for software made sense. The second was in the late 90s when open source proved better than corporate hierarchy at certain types of development. And then there's the one that's about to hit now, when web services and interoperability concerns obviate open source licenses.
There's a growing understanding here that web services are big: that the laptops and desktops of the future will rely not on software goods that have been bought for those machines, but software services that run on a server a thousand miles away. Google calls its Ajax web services "the world's largest platform."
Yesterday, Tim O'Reilly hosted a stimulating all-day series of panels and talks on web services and "Web 2.0" generally. The most interesting part of the discussion was about tying web services together. Web mashups are hot. It's hard to look at a list of websites offering an API -- Google Maps, Yahoo Geocoding, eBay, craigslist, Flickr, YouTube -- and not start thinking about great ways to combine them. Interoperability plus programming creativity equals... well, something pretty neat, we're hoping.
But a web services API doesn't necessarily offer the freedom that might seem analogous to open source, which is why Tim is also putting out the call for an "open services" definition. Flickr offers its corporate API to some sites, and refuses to permit it to others. Zooomr was judged to be too much of a potential competitor, so Zooomr users don't get to copy the photos they've uploaded to Flickr. [Update: Sorta. Read that comment thread to see important context for Flickr's decision. To be clear, given that context, Tim thinks Flickr found a good answer, and I tend to agree.]
As Flickr says, and they have a very good point, "why should we burn bandwidth and CPU cycles sending stuff directly to [a potential competitor's] server?" That makes sense from a corporate point of view, but a user who's uploaded a thousand of their photos might be puzzled why it's no longer exactly "their" data. Is that a right that user should have, or not? I ran into Julian Cash, who vehemently argues that it is; he's started MoveMyData.org to try to build a client-side way for users to route around APIs, to suck down "their" data and maybe reupload it to other sites. No code yet, but he's looking for volunteers.
AttentionTrust goes even further, starting off its manifesto with "you own your attention and can store it wherever you wish." That's something I hadn't considered before but it has an interesting ring to it. They have a Firefox extension I haven't tried yet (does it work? post comments).
Interoperability is a concern even without the web. Yesterday morning, Danese Cooper got a half-hour to grill Bill Hilf, Microsoft's General Manager of Platform Strategy, on Microsoft's relationship with open-source. Some think that's the same relationship as the butcher to the hog, and Bill's job is to persuade them Microsoft has no such intentions.
Asked directly, in the context of embrace-extend-extinguish and web APIs that can be crushed at any time, "why should we trust Microsoft?", Bill's answer was to look at the company's actions: "consistent action, over time, in the right direction."
I sat down with him afterwords to probe into this a little more (with someone from Waggener Edstrom standing nearby). He has some examples of Microsoft working with open-source projects like JBoss and SugarCRM, but I asked for specifics of how we know Microsoft isn't going to try to kill more-directly competing projects like Mono or OpenOffice by eliminating interoperability, possibly with patents, at any random time in the future. The only real sign I got was the Covenant Not to Sue (over patents) that came with the OpenXML format earlier this year. That's a step in the right direction. I don't think it's a terribly big one.
I asked if we'd see more steps from Microsoft disavowing patents as weapons against open-source projects. Obviously that's a big risk for a company to take, but one that's probably necessary to convince skeptics Microsoft is friendlier than the butcher. While Bill couldn't make any promises, he affirmed the CNS was "not a one-off... and not just to placate people." I'll keep an eye out for more action in the right direction.
Exciting as the opportunities are for different projects' software working together, one thing's for sure: the remote sites that run their algorithms and store your data leapfrog open source licensing. The server a thousand miles away can run software with its hood welded shut, with no obligations to the open-source community that come along with the benefits. Today, while some companies are trying to build goodwill with that community, there is nothing like a GPL for web services. No one's discovered a legal foundation that would establish open services, openly shared web services, with the same kinds of rights that we insist on in open-source code. No one's even sure what "open services" might mean, indeed, there's no consensus that we even need such a thing.
Even the FSF is unable to decide how v3 of the GPL should read. And I'm not smart enough to know if the GPL is even the right tool for this. Maybe tacking clever licensing terms on top of copyright's restriction is a temporary hack whose time has passed (you know, like the RIAA). Maybe the next hack to build a community of software sharing and tinkering will have to be totally different.
I don't think I know the answers but maybe one of you does. If you have thoughts about the open-source community in the age of capitalism, please post them to this story. If you're at OSCON and want to chat about it, email me (or AIM 'jamiekzoo' if you catch me online). At the end of the week, I'll have more updates on what's happening here -- it's not all philosophy and futurism.
god I hate the phrase Web 2.0, every way I think of the web I end up at numbers higher than 2.0, or just something like Web 1.0.5.25-3.8762. Where the hell did they get "2.0" from? and even if they can explain this, why would it be new?
It doesn't relate to who can put information on the internet, because even if you said web 1.0 was elite users puting up content and web 2.0 is light users then surely geocities heralded web 2.0... and now with blog's and ultra easy updating we'd be at least on 3.0...
If it's access speed then broadband at about 128k was 2.0, although we're now significantly higher than that, and even if you just made the distinction of narrow/broad band then web 2.0 would still be old
If it is browsers we use it is higher than 2.0
If it is content then we has 1.0 -text, 2.0 - pictures, 3.0 - Audio/Video streaming
I really think that web 2.0 is really a woozle... we've got it into our heads that there might be something and have started walkin in circles chasing our own foot prints, in the hope that at the end we might see a big 2.0 sign
It's easy to confuse the success of open source with the degree of its acceptance and promotion within the business world. The ideal has always been to find some means of getting paid for developing software you can share for free.
But the strength of open source has always been in its community of people with common goals who develop and exchange software freely. Perhaps this will include the WWW; perhaps not. It's worth noting that most of the problems open source faces have come with its commercial acceptance -- legal threats, negative PR, unreasonable support demands -- and it's probable that if open source is not at the forefront of the next IT fad it'll simply grow in a different direction.
I never vote for anyone. I always vote against.
-- W.C. Fields
Mashups are not "hot". My mother has no idea wha ta "mashup" is. Nor will she ever. Just because you have a circle jerk of blogging buddies that look at your Craigslist Google Map that shows you where the most Male4Male posts come from doesn't make it useful or remotely usable to the general population.
I will never trust a mashup as much as I would trust the originating websites. How do I know you aren't altering the data from the Sexual Predators Database to include your ex-husband? How do I know that you aren't filtering eBay auctions to remove auctions that don't fit your political beliefs? Sure, I can go look for the data, but with API license restrictions, I may not be able to access the information myself.
That's a good point, I could have been more precise. What I am worried about could come to pass if Mono becomes a popular platform for significant Linux applications. Microsoft could suddenly "realize" that it violates patents, and shut it down with the threat of lawsuits. The applications would go away, creating powerful incentive for people to switch from Linux to Windows (both for the functionality at the time, and because Linux would be perceived as a less certain and viable operating system). Microsoft may not have a direct interest in Mono but it could certainly have a financial incentive to cripple Linux on the desktop.
Your employer wouldn't want to get in a big GPL lawsuit just because you send in a patch to your favorite project.
IANAL, but I want to warn against this way of thinking.
Let's suppose his company actually holds the copyright of a patch he sent to the FreeFoo project. Now the FreeFoo project (and everyone distributing it) is infringing the copyright, unless they can argue that he was actually acting on behalf of the company when he donated the code. That is surely not made any easier by the fact that he contributed anonymously and knew that it was against his contract.
What would happen when this comes to light? Best case the company says "ok, we'll just donate it then" and everybody's in the clear.
Worse case the company says "this is copyright infringement, remove it from the project". Now the FreeFoo maintainers and all the distributors downstream have to halt their distribution until they have found and re-implemented his patches. Not a nice way to spend a weekend. It will probably take just a single letter from the company's lawyer to trigger that.
Worst case the company is SCO and he's a kernel contributor. Now how much trouble would that cause otherwise innocent people?
I suggest that he contacts his lawyer and/or the FSF to hear what he can do to keep everyone out of trouble. I also suggest he talks to some labor union to get their ideas on how to fight this kind of disgusting contract.
In any case, staying really really anonymous for now is probably a good idea.
Any sufficiently advanced libertarian utopia is indistinguishable from government.
It would be different if you had a contract as an assistent or something. But even with my current employer I can freely contribute code made under work if the project isn't our core business. If you're good enough to bring up the topic open source contributions, any supervisor or employer worth his salt shouldn't scare you away by forbidding it. That's just silly.
This sig is intentionally left blank