7 ms·
So GPL'd software is highly valuable where BSD'd software is just hobbyist stuff...because of the license? Less loaded (and more accurate) one-liners might be.
by dwc 13y ago
So GPL'd software is highly valuable where BSD'd software is just hobbyist stuff...because of the license?
Less loaded (and more accurate) one-liners might be...
GPL: you may use this code, provided you follow rules representing my views on software freedom.
BSD: you may use this code however you see fit.
Which approach fits with your personal philosophy depends on you. But certainly BSD does nothing to lessen the highly valuable software licensed with it. OpenSSH, sudo, and many others, for instance.
- caniszczyk 13y agoWord, thanks for cleanly explaining this to people.
- zanny 13y agoYou can spin these lines any way you want: GPL: You can use this software however you see fit as long as you provide the same courtesy for everyone else. BSD: You can have my labor for free, and then profit off it all you want. Call it free money, you're welcome.
- clarry 13y agoGPL: You can have my labor for free, and then profit off it all you want. Call it free money, you're welcome. But there are some strings attached and certain things you may not do.
- johnbellone 13y ago> BSD: You can have my labor for free, and then profit off it all you want. Call it free money, you're welcome. There's a lot of software that is licensed under BSD which, for the most part, is sponsored by corporations. If you decided to license the software under BSD (e.g. you and the authority to do so) the likelihood that you're not making a living is relatively small. Because why else would you have released the software under such a liberal license?
- dwc 13y agoThose are fair enough comparisons. In fact, I think you've hit upon something there. If the idea of someone benefitting from your work in terms of money bothers you then BSD/MIT/ISC licenses seem bad. Personally, I'm fine with it. Apple takes FreeBSD userland and makes money? Ok! We still have FreeBSD. Someone incorporates OpenSSH code into a non-free for-profit Windows program? Ok! We still have OpenSSH.
- rlpb 13y ago> We still have FreeBSD. Someone incorporates OpenSSH code into a non-free for-profit Windows program? Ok! We still have OpenSSH. There is an argument that if a high enough proportion of the FLOSS ecosystem's software ends up being adopted into proprietary products, then the community could happily move to using those proprietary products instead and then there will no longer be enough momentum in development of free upstreams and we will lose the "still have FreeBSD" and "still have OpenSSH" cases. This argument suggested that there needs to be a certain amount of GPL software in the ecosystem to prevent the balance from being tipped this way. This is my recollection. I have not been able to find any kind of reference to this, but I hope you get the idea.
- zanny 13y agoBut you really have no way of verifying if these proprietary products are using permissive code. They can just run with it and save themselves a lot of work off your labor, but who knows what modifications they made.
- thatthatis 13y agoCan you give a single example of your concern? You're responding to real world examples of copy middle projects and proprietary descendants coexisting happily with vague fears but no examples.
- einhverfr 13y agoIndeed. SunOS/Solaris vs the free BSDs? Illustra vs Postgres? Oh wait. I found one: Internet Explorer vs. Mosaic. As I pointed out in my blog post (linked below), history is littered with the corpses of proprietary spinoffs of free/open source projects. It is telling that the only example I can find currently of a proprietary spinoff eclipsing the open source version currently a) had to be released free of charge and bundled with another program, and b) is now facing renewed competition from free/open source competition in the form of Firefox and Chrome. So it seems to be an exception which proves the rule. Proprietary spinoffs cannot, in the long run, outrun the community.
- einhverfr 13y agoNot really. Here's how I look at it: GPL: This work must remain in the commons. Any improvements you make must be put back to the commons if you distribute it. BSD: I own my work. You own your work. You can use my work to create your work. We recommend you put your contributions back into the commons. In the end, the BSD license does heavily incentivize commons, but it doesn't require them. That's the difference.
- _delirium 13y agoI guess from my perspective I don't see why I would agree to license my work under the BSD's terms, unless I had already concluded it had negligible monetary value. I own my work. You own your work. But why should I let you use my work to create your work? The traditional answer is the capitalist one: because you paid me a license fee. An alternative hippie-ish idealist answer is the "commons" idea: because we both agree to dedicate our work to the commons, and everyone gets each other's work for free. But if you don't reciprocate by also dedicating your work to the commons, why should I give your proprietary product a free license to use my product? Being a blue-blooded capitalist, you aren't going to let me use your product for free; why do you expect better terms from me than you yourself are offering? If you expect me to buy a license for your product, it seems perfectly fair that I also expect you to buy a license for my product. The GPL in a sense formalizes that expectation. (It's worth noting that this line of argument is on quite different grounds than what RMS argues, though. RMS is primarily interested in the right of downstream users to modify their own computer systems, not in game-theoretic choices of software developers.)
- einhverfr 13y ago> I guess from my perspective I don't see why I would agree to license my work under the BSD's terms, unless I had already concluded it had negligible monetary value. Because you want contributions from others and want to work in a vibrant community. And if you are modifying a BSD-licensed project, you probably want to encourage others to maintain your code (what this means is you will, if you want to have a successful proprietary fork, contribute almost everything back, so as to cut your maintenance costs). > The traditional answer is the capitalist one: because you paid me a license fee. An alternative hippie-ish idealist answer is the "commons" idea: because we both agree to dedicate our work to the commons, and everyone gets each other's work for free. I think that misunderstands the purpose of the commons. Commons exist because there is value in pooling resources. Commons of course, only work when there are benefits and contributions are aligned. Here, maintenance costs are reduced by contributions, and you get access to the works of others. Let's look at how this works with regard to PostgreSQL. There have been a number of proprietary forks in the past, including Illustra, Mammoth, Green Plum, EnterpriseDB, and more. In general these have all prospered when they contributed back significant work to the community, but when they didn't they found themselves cut off from community resources. Of these 4, only two are alive today, and one of those is facing renewed competition from free a free alternative (Postgres-XC). So you have a carrot and a stick. The carrot is that you can make marginal changes around the edges for your target market, particularly if the community doesn't want those changes, and you can release a proprietary product with that, using the work of everyone else. The stick is that if you don't contribute back, you will find yourself cut off from that free labor and in competition with it, and that competition is not one you can win. > (It's worth noting that this line of argument is on quite different grounds than what RMS argues, though. RMS is primarily interested in the right of downstream users to modify their own computer systems, not in game-theoretic choices of software developers.) Right, but I am talking about the right of software developers to largely work as they see fit, which strikes me as the best definition I can find. To do this, you have to have decentralized control and a movement away from a corporate-centered model. In this regard, the BSD license is a better and more radical alternative regarding freedom than the GPL is, because it insists that freedom serve practice rather than the other way around.
- rsmith05 13y agoSomething interesting that I never thought about before: Arguably, the BSD license in this case allows for more freedom in the short term (I can do whatever I want with this software...awesome!). But the GPL license, especially the older ones, helps promote a particular version of freedom in the long run. It's an interesting case.
- dllthomas 13y ago"especially the older ones" Why especially the older ones? I'm not objecting to your claim, I'm interested in your reasoning.
- mcguire 13y agoTo a first-order approximation, possibly. On the other hand, the BSD license encourages fragmentation (or at least doesn't discourage the natural tendency to fragmentation), which does lessen the value of the software because network effects, among other things.
- dragonwriter 13y ago> On the other hand, the BSD license encourages fragmentation (or at least doesn't discourage the natural tendency to fragmentation), which does lessen the value of the software because network effects, among other things. But network effects themselves discourage fragmentation independent of license.
- dllthomas 13y agoFragmentation can be a powerful tool when you're a large player in a market. Consider the "embrace and extend" strategy.
- mcguire 13y agoVery true. However, network effects at the scale of an individual decision are weak. If I am considering taking some package proprietary, adding a feature, and selling the modified package, I am faced with the decision of whether or not to give myself a strong, if temporary competitive advantage. Sure, the original package may catch up with me, but if I play my cards right I'll be playing Scrooge McDuck in my basement vault by that time. Further, the catch-up date can be delayed if I hire as many smart people from the package as possible to work on my fork. Or, it may never catch up, if fragmentation (or any other effect) destroys the market for the product in the mean time. I've wondered if that had any role in the rise and fall of Lisp machines; I'm a little too young to have direct experience there.
- einhverfr 13y agoIn practice, however, what typically happens here is that you have your killer feature you want to sell, but will find other things you want to fix. You don't want to maintain all of your fixes yourself, so you try to modularize your enhancement off, and contribute everything else back. Failure to do this means you end up with high maintenance costs if you want to pull in enhancements from future versions. So the fragmentation tendency is only partial. You have to either fully go your own way (usually suicide) or you have to give almost everything back (which opens up the possibility of competing with the community). Sure people may choose unwisely. They will suffer the consequences and maybe learn lessons the hard way. ;-)
- subb 13y agoIt weird to me that the free software license is more restrictive than other licenses. GPL maintain the end user freedom, but not the freedom of the programmer.
- dublinben 13y agoThe only freedom denied to the programmer is the 'freedom' to restrict the freedom of users. That's not a freedom I care to protect.
- clarry 13y agoSo by combining code from two different "free" projects the developer would be restricting his users' freedom? Alright. So the developer can't give users that sort of code. The user has to do it himself, that is freedom after all. But doing that, the poor user essentially becomes a developer, and so he cannot distribute his thing to other users. That would be restricting the other users' freedoms. Right? Or how about this: imagine for a moment I'm not a programmer. I'm just a poor user, and I take some code under GPLv2, fetching it into /tmp as I usually do. Maybe the code doesn't work straight out of the box, so I search a little and find a hack to fix the code (but I'm still not programming it, just applying random advice from the net). Cool, I get the code working, install it into ~/home/ or /usr/local, whatever. After some days a friend finds out I've got this cool software running and he's not so savvy with the computer but he wants that software. Sharing is caring alright, so I zip up the binary & associated data files and send them his way. Whoops, I just violated the license. The license has a death clause that ends my rights when I violate it. I'm just a poor user, and now the freedoms granted to me are gone. Or did I really have freedom to begin with? EDIT: Actually, I'm pretty sure I've violated the GPL this way, more than once. Years ago I ran Gentoo as my main OS, and many of my acquaintances did too. Every once in a while the OS kinda pooped itself and friends asked friends to hand them a copy of a working libwhatever.so.whatever or somesuch. Some of these were patched by Gentoo, some of these might've been altered by me too. Sometimes we shared other binaries that had nothing to do with Gentoo per se. In any case I never gave these people a written notice saying how to get the source, nor did I host the source for three years, nor did I share the source when I copied that binary to a place where a friend could grab it. I was just sharing. The code is free, right? Now I know better. I no longer redistribute GPL-anything, because screw all these restrictions. It is not free.
- higherpurpose 13y agoBSD is more like: you're free to buy a gun and kill anyone you want. GPL: you're free to buy a gun, but can only use it in self-defense. That's why GPL feels "restrictive" - but in a good way - to preserve the freedom of the software in all instances of it.
- ekianjo 13y agoCorrect me if I'm wrong, but something with a BSD license can be turned into proprietary software if you make a derivative of it. At least with GPL, all derivative software has to remain GPL compliant.
- dwc 13y agoThat's right, and on purpose.
- nycticorax 13y agoThat's not really correct. The derivative work can be proprietary, but the original work is still BSD-licensed. So in no way has the original BSD-licensed code been "turned into" proprietary code. And you could argue that being able to keep derivative works proprietary means that BSD-licensed code is more free (as in freedom) than GPL-licensed code. You're free to do whatever you want with BSD-licensed code, including making a derivative work and keeping that derivative work proprietary. And it's worth mentioning that the GPL only applies until the copyright on the software expires. At that point, the code becomes public domain, and then anyone can do whatever they want with it, including making a derivative work and keeping it proprietary. So BSD-licensed code is a closer approximation to public domain code than is GPL-licensed code.
- ekianjo 13y ago> And you could argue that being able to keep derivative works proprietary means that BSD-licensed code is more free (as in freedom) than GPL-licensed code You are misunderstanding one point, though. Free Software is not about the creator's or the contributor's freedom, it's about keeping the piece of software Free to be modified. And a BSD license does not guarantee that the derivatives remain Free Software, hence that's why it's regarded as highly as GPL in that aspect.
- einhverfr 13y agoTrue, and the MIT license can without even making a derivative of it (because you can pass on only a portion of the rights granted by the license and become a new licensor). But the question is how much one is encumbering the work of others.
- vu3rdd 13y agoFree Software and GPL is about users. It puts users first and then developers. FSF considers that freedom is a social problem than a technical problem. Open Source is about businesses and the technical merits of the software being freely available. IMHO, BSD, MIT/X licenses put developers and their rights first and only then the users. That's my view of the Free/Open source licensing landscape.
- jordigh 13y agoThis seems like a very fair summary.
- clarry 13y agoI do not like the user/developer distinction. The license deals primarily with copying, it is a copyright issue after all. If you are a user and do not copy the code, the license does not concern you. If you copy the code, the license binds and obligates you in the same way it binds and obligates developers who copy the code; there is no distinction. Developers often are users too. And many of the GPLs goals seem to have everything to do with enabling the user to become a developer (or hire one, same difference).
- dllthomas 13y ago"If you copy the code, the license binds and obligates you in the same way it binds and obligates developers who copy the code; there is no distinction." The distinction arises because of differences in motivation. If I distribute the work, I'm obligated to provide the source. If I have made no changes, who cares? If I was able to refuse to provide the source of unmodified builds, users who wanted the source could just get it from upstream. It's developers who want to make changes and refuse to provide sources that wind up feeling like the GPL is meaningfully restricting them. "Developers often are users too. And many of the GPLs goals seem to have everything to do with enabling the user to become a developer (or hire one, same difference)." Very true. That's a freedom it's important to preserve.
- dwc 13y agoI have heard that before but I've never understood it. As a user of software myself, I can't think of cases where BSD-style licenses have let me down rights-wise, freedom-wise, etc.
- d0mine 13y ago"BSD" -- take it, do whatever you want GPL -- keep it free The latter allows us to program in 20 years without asking a corporation for permission.
- clarry 13y agoWhat allows us to program in 20 years without asking a corporation for permission is people (and corps) who release their code under a free license and share it. I have BSD-licensed code with copyright notices from the 80s on my system. Yes, I run a BSD.