Red Hat’s Havoc Pennington wrote a very interesting article on his blog about open source, services and GPLv3. In the piece Havoc argues that sometimes having open and unrestricted services is more important than having the actual source code. He raises the question about how the open source community can move towards a model of open services; he specifically wonders how to finance the associated deployment and maintainance costs. Havoc believes that the GPLv3 fails to address the issue of data access and focuses too much on source access, which he thinks becomes somewhat irrelevant in the growing “software as a service” world.
I’ve never understood the point of the GPLv3 potentially placing restrictions on web services (it is an optional requirement, a code author doesn’t have to implement it). What does it matter whether I can access the code running a server powering my Gmail account for instance? What, am I going to fork the web service?
Like the article points out, in the online world, data is more important than code. Maybe open source as an ideology (not any program, just the “spirit”) is simply irrelevent in the online world. In which case, the FSF shouldn’t try to impose their conditions on it.
Just my 2 cents.
Suppose someone develops some useful web service code, and decides to share it with others who may find it useful. He may just be feeling benevolent, in which case he could use the BSD license, GPLv2, or GPLv3 without any optional clauses.
A more practical reason for sharing the code is to share the burden of developing, testing, and supporting it. This may be worth doing, even when it gives competitors access to your code. A free gift to the competition doesn’t make business sense. A joint effort may. The current GPL does this with ordinary source, which is why you see it used by companies like IBM. HP can use IBM’s improvements to Linux, but only if IBM can use HP’s. The effect of code under the GPL is similar to work on standards or other trade group activity. Without rules enforcing a level playing field, competitors won’t cooperate, even when it would benefit them.
The optional clause in GPLv3 covers the case for web services. I’m not going to give you my feature foo so that you can use it while you keep your feature bar secret. By licensing foo under GPLv3+clause, we each get both, and compete in other areas.
With the GPL keeping the online services clause as an option.
The example case I would use would be for example, someone writing the engine for a community news website. Say this person wants to share the code of this engine, but then he also wants to have access to the modifications made by other web developers to his engine. Then he only has to enable that clause and it’s ready.
This also enables compatibility with the affero GPL wich is bassically the GPL version 2 plus the clause that’s mentioned. (http://www.affero.org/oagpl.html)
You are missing the point. You are speaking about how to avoid code forks, and not how to access *data*. What Havoc is talking is about a license agreement for a way that allows you to access data, not source code. That licensing must be about the WAY you will be able access the data, not about the data itself or the source code that powers that data.
Example: a toolkit, or an API, or a protocol on how to get access to your or your friend’s Flickr account and check out the pictures with a third party [web] application that has access to that API. The licensing conditions that Havoc is seeking is about that “third party” web service that the original web site is offering. For example, if Flickr’s API was under that hypothetical Open Services license that Havoc is seeking to define, what would be acceptable conditions? Would be acceptable to break the API every now and then, or to shut down access at some point, or to not offer the full content, or to not allow some users to access some data? These are questions that don’t have answers yet, because the “Web Services” thing is not fully defined yet, let alone an “Open Web Services” thingie.
Edited 2006-07-30 06:07
Well, assuming that Flickr’s api was based on GPLv3 licensed code with the requirement, that means that Flickr couldn’t just close tha API with an incompatible fork. Wich means that any change they make will be made compatible eventually.
Or they could have coders constantly hacking the fork to keep it incompatible until they go belly up for lost users.
t’d be better to drop the “TiVo provision” and be sure the Linux kernel and other projects widely adopt v3.
Maybe he hasn’t heard, but the linux kernel will not be GPL v3. Even if Torvalds wanted it to be GPL v3, there are hundreds of individual copyrights that would have to be sorted out. It would be chaos, so it’s just not going to happen.
Nobody is going to force Google to be less secretive because Google will just not use GPL v3 – case closed. As will most other businesses, since they’re not going to want to monkey around with some “download source code” button. The GPL has had moderate success because you don’t have to release the source when it’s inhouse, and most software is inhouse, and now we’re seeing all this web service business.
This guy works for RedHat and seems somewhat irked by Google and its “secrecy”, but GPL v3 is irrelevant to them and won’t change anything. Just write code and stop worrying about other people.
“Maybe he hasn’t heard, but the linux kernel will not be GPL v3. Even if Torvalds wanted it to be GPL v3, there are hundreds of individual copyrights that would have to be sorted out. It would be chaos, so it’s just not going to happen.”
Please! Yea, I have heard Torvalds say that stuff time and time again. Now if he was FOR gplV3 then Torvalds would swear none of that was a big deal and could be worked around, no big deal. Anything Torvalds is against becomes a impossible mountain, yet when he is for something it is a molehill at most.
> Please! Yea, I have heard Torvalds say that stuff time
> and time again. Now if he was FOR gplV3 then Torvalds
> would swear none of that was a big deal and could be
> worked around, no big deal.
Whether he is for or against GPL v3, a single copyright holder being against v3 could cause a lot of trouble when trying to move Linux to v3. If Mr Torvalds ever decides to go with v3, and calls this problem a molehill, it would be suicidal at best. Such a transition might be possible, but only with a lot of time and possibly rewritten code. It’s certainly a mountain, not a molehill.
Do you know anything about copyright law whatsoever? Every single copyright holder, including ones from 10 years ago if the code is still present, and Linus would have to get a signed document from each one authorizing the code’s release under GPLv3, or else get the author to release it him/herself under GPLv3.
So yes, it is impracticle to change the license on the code. Trust me, he isn’t trying to trick you 🙂
sometimes having open and unrestricted services is more important than having the actual source code
Every commercial sw dev company would line up behind that line. So what, that doesn’t make it generally true. I’d wonder what would RedHat be today if the actual source code of that tiny little collection of kernel and apps they started from weren’t available.
let’s take Google as an example … if I think “secrecy and proprietary IP used to maximize hype and competitive advantage,” I think of two companies: Apple and Google
But they are not an open source company.
And who said that they were ?
This whole blogged wordpile is just a little bit more than being sullen on Google.
> Every commercial sw dev company would
> line up behind that line.
Commercial software development companies are already writing and releasing software-as-a-service applications. What we are trying to address is how to “open” these applications up.
> I’d wonder what would RedHat be today
> if the actual source code of that tiny
> little collection of kernel and apps they
> started from weren’t available.
“Open Service” isn’t an alternative to “Open Source”, it is a completely different solution to a completely different problem. As Tim O’Reilly said in his keynote at OSCON, the next fight won’t be about source code, it will be about data.
> And who said that they were ?
They do. http://developer.apple.com/
http://code.google.com
It is too bad, there are rumors that Stallman doesn’t see closed data as a threat to anyone’s freedom. This lack of understanding definitely shows through in the latest GPLv3 draft, and it is too bad. If we don’t demand more open services, we’ll soon be forced into a world where much of the relevant applications run on machines we don’t have access to, with code we’ll never see. So far we’ve been lucky that Google has been fairly open to standards, but even with some consessions from Microsoft, once Live starts to affect the market, don’t expect to be able to access your data.
Stallman was inspired by a faulty printer device; how long until someone realizes we should be able to export our contact lists?
Howard, Lambda, i3iv1, none of you gets what Havoc is trying to say, even if I explained above in my comment, in simpler terms. It’s kinda sad.
Actually, we do understand that he (RedHat employee) has issues with Google.
>Actually, we do understand that he (RedHat employee) has issues with Google.
Thank you for reminding me why I don’t do much osnews anymore. It’s because of people like you, who read articles like they are parrots, instead of actually comprehending their deeper meaning.
Are you sorry that that people actually understand his motivations and also understand that any silly restrictions like this that would be put in GPL v3 would be immediately make the license irrelevant.
You clearly don’t understand the implications of a data/API clause in the GPL. Basically, Google or anybody else wouldn’t have control over the output of their programs anymore. Google wouldn’t use it and nobody else would either.
Just because you have a thing for Havoc doesn’t mean that we’re not going to stick with the facts.
Thanks for hitting a low.
Havoc doesn’t say that GPL3 must change, Havoc’s saying that GPL3 is missing the point, because the software market sails to new directions that must be addressed one way or another.
Havoc doesn’t say that GPL3 must change, Havoc’s saying that GPL3 is missing the point, because the software market sails to new directions that must be addressed one way or another.
He’s saying that Google is “getting a free pass” and there are “dangers” and someone needs an “open services” license.
Or instead of beating around the bush, like he’s trying to do, what he wants is a software license that would mandate access to data that Google has produced and/or APIs that must be present for data access.
So let’s get something straight. It doesn’t matter if he hates Google or not. Google and everybody else will just ignore software that uses stupid restrictions like that.
Yes, Google and many others are free to ignore such a license or requirement! But others, others who believe in the Open Services ideology, won’t have a problem with it.
It’s like with OSS software. Some people write OSS software, some don’t. It’s up to them to decide what’s best for them & their clients.
Yes, Google and many others are free to ignore such a license or requirement! But others, others who believe in the Open Services ideology, won’t have a problem with it.
It’s like with OSS software. Some people write OSS software, some don’t. It’s up to them to decide what’s best for them & their clients.
Cloudy make the point that the “download button” that is being proposed is completely unenforceable as would be a mandatory API or data access.
Yeah, it would be nice to have a README in the source distribution explaining that a network API should be open for data access. But it’s meaningless to codify it in a license because it’s unenforceable.
Eugenia, I get what Havoc is trying to say. He raises some interesting questions about GPLv3 and web services. Rm6690 asked a different question, which is the one I answered. Follow the reply trail.
If you try to apply my answer to rm6690’s question to Havoc’s questions, of course it doesn’t make sense. Why would you expect it to?
Havoc talks a lot about “Open Source” and “Open Service” and i think you can see in the whole writing that he is a real Open Source advocate. He cares about a development technique, he want’s to read the source, find bugs and submit patches. That’s all fine, but it’s the Open Source sight “let many people look at the code to create better software”.
The FSF doesn’t care about Open Source, they care about Free Software. The Free Software sight is “don’t deny users freedom in the digital age”. So if we talk about GPLv3 we have to look at it from the Free Software sight and not from the Open Source sight.
Free Software says:
1. You are free to run the program for any purpose. But this requires that you have get the software, on a web service you have never get it.
2. Your are free to share your software with your friends. Same problem as pointed out at point one.
3. Your are free to modify the software. First it’s again the same problem as at point one. But another one: I’m using a webservice, i will hardly have the equipment to create a own webservice and the provider of the webservice probably will not install my version of the software.
4. Your are free to share the modifications with other. Again the problem mentioned at point 1.
At the end i think something like “Open Service” is not that important for the Free Software movement. The Free Software Movement is about having control over your life and your software and not about having control over the service offered by someone else.
Also the GPL has never a requirement to release source code. A paragraph which would force web services to add a “download source code” button would change this spirit of the GPL.
Bravo, I think that was aptly put. I was impressed. But, I think the point people are trying to get at here is this:
Just like you realised that Free Software is about “not denying users’ freedom in the digital age,” people seem to be (I suspect, rightly) worried about a time when everything moves toward a software-as-a-service sort of model. In such a context, does having the source to Flickr (assuming for this argument that Flickr was a Free Software endeavour) really help you? Yes, surely you have access to it in the the sense of being able to share it, study the code and submit patches, but the heart of the “freedoms in the digital age” lie elsewhere. If they gave you the code and restricted your access to (what is probably) your own data (through appropriate key-based shenanigans), your freedoms are being trampled upon.
Even though, in a GPLv2 point of view, the service/software will be entirely compliant. This is what I believe is his (and other people’s) problem, and I hope I made sense.
makes sense. Open APIs for NVIDIA graphics cards makes sense, every OS can write down drivers for it. But open source forces them to contribute to the OS development. Open API for these drivers can be risky, because NVIDIA can reserve secret performance enhancements to Vista or OSX. Furthermore an open driver along with open API can help debugging and make a fair play. The question between Open Services and Open Source has to do with morality. No law in this planet can force morality. This is the problem with th licences. People always try to workaround morality. Therefore no licence can be effective. Zenographics gives a sample implementation of zPJL. This will help the community alot. But they are not obliged because they spend money on developing the code. But the side effect is that others can take the implementation and contribute as a joint effort to a more intelligent/efficient PJL handling. Having all this attempt as open source ensures
1. An open standard.
2. No unfair competition.
3. Continuation of the effort even if one of the partners closes.
4. Free advertisement.
In an ideal community, one of the partners gives an elegant solution to the problem and all respect them. I would buy a printer enabled with this code because I can see that they do a better job. So this open effort pushes innovation. Closed source is a way to hide laziness.
Coming back to open webservices, it makes no sense to give source code because all people more or less do the same thing, but it INTEGRATES differently with their systems.
We can’t use Google as a model for open-source services. Google makes money from ads. If people ever start using their services in a way that majorly circumvents their ad revenue, Google will disappear and their services with them.
In a services world, what really matters is availability, reliability and performance, which are all a function of the design and the hosting of the service. The only way to ensure that these concerns are addressed in a service-oriented world is to make both the implementation and the data behind a service open, so that users and the community can take it upon themselves to find hosting alternatives by simply deploying the service elsewhere and replicating the data.
Once we make that conceptual leap, a service isn’t that different from traditional software, except that it also includes data.
Major fork of linux. Lets get it over with. The open source guys can take it and go down their path and the GNU/GPL guys can take it and go down their path.
Dear God NO! That we have the power to fork any OS project at any time is a wonderful thing, but it’s still never an entirely good thing when it happens. Much better to invest some effort in reaching consensus among the contributors, and move forward with all the talent still on board.
Imagine the nightmare of distros having to decide which kernel to support, or contend with trying to offer both? Is this even permissible? I mean, what do you call yourself if, depending which kernel users choose, you’re either “Debian GNU/Linux” or “Debian GNU/SomeOtherNameWhichUsedToBeLinux”? Such a thing could set back Linux’s mainstream adoption immeasurably.
I really hope something like that doesn’t happen. Or if it does, let one fork take all the talent with it and render the other insignificant (à la XFree/XOrg).
Then drop the current code, rewrite, move to GPLv3?
Maybe form a new work based on the original and move to GPLv3, not sure if you could legally do this?
Also, if a copyright holder is dead will he really care?
My other question – What if Torvalds IS that one copyright holder that doesn’t want GPLv3?
At least in the US, a clause requiring a licensee to distribute changes to software they are using but not redistributing would be unenforcable.
Licenses based on copyright can only dictate terms of redistribution, they cannot require that the copyrighted material be redistributed even if it was modified by the licensee.
Great point Cloudy.
I’m confused here.
What exactly is Havoc discussing here.
Let’s take Acme Services, a company that happens to host some services accessible through a web service.
If the web service were implemented using GPL’d software today, there’s essentially no obligation for the Acme to return the source, because the code was not “distributed” in the common sense.
GPL 3 has a new optional clause that promotes the concept that such server software should be opened up, even if the server software were not distributed per se, but the services provided by that software were.
But this, as I understand it, is not what Havoc is talking about.
So, considering Acme has this web service, which particular part of the interchange is he discussing here.
The protocol of the webservice? Is the goal to make that open much like SMTP and other standard Internet protocols are open today?
The data maintained by Acme through this webservice? There was this issue with Flickr recently opening up their system via webservices but blocking a competitor from accessing the data, even if on the request of the user who put that data up on Flickr anyway. Is that what he’s talking about?
Or, simply the implementation of the webservice software itself, thereby opening up the back end logic but, indirectly, the actual protocol.
Which aspect is Havoc talking about here? Or is there a part I’ve left out?
The data and how to access them.