3 ms·
Not 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
by einhverfr 13y ago
Not 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.
- _delirium 13y ago> Right, but I am talking about the right of software developers to largely work as they see fit I guess overall I'd see this as actively harmful. What's important is the rights of users; the rights of software developers to harm users are not rights worth saving. But furthermore as a developer who is not a large corporation, I don't even see the advantage of letting my code be incorporated into the next version of Windows or Matlab or whatever without payment or reciprocity, as semi-frequently happens to BSD-licensed code (there is a ton of it in both Windows and Matlab). Whereas at least a portion of the people who held out for payment have gotten paid (both Windows and Matlab also include quite a bit of licensed and acquired code). If I was a large company open-sourcing a codebase where I wanted to foster a community of other vendors around it, maybe, but I'm not. I'm a person who writes moderate-sized bits of stuff (mostly AI-related) that someone might incorporate into various applications. And if they want to do so, I'd like them to either: 1) reciprocate; or 2) pay me. But as for the rights of software developers to work unhindered: Pragmatically, I do not think that software developers are, overall, well-intentioned, especially if you consider the overall profit-driven system they/we work within. Hence maximizing their freedom to screw people over is generally a negative, and certainly not guaranteed to align with the freedom of users to work on open platforms. Look at Apple's walled garden as an example of harm that the FreeBSD project has negligently enabled. If anything I think what the BSD license does is remove any restraints on corporations' power, by providing them with unrestricted raw material that they can exploit using their market power without even having to build a big portion of it themselves.
- einhverfr 13y ago> I guess overall I'd see this as actively harmful. What's important is the rights of users; the rights of software developers to harm users are not rights worth saving. Is freedom of economic value? If it is, then a proprietary spinoff must offer enough value to not only make up for the license cost (vs free download) but also to make up for the loss of freedom. If freedom is of economic value, then end users can protect their own interests. With the GPL you have a very different danger, which IMO is actually worse regarding loss of freedom. It goes something like this: 1. Company offers GPL software and sells license exceptions. 2. To do this they require code contributions be signed over to them with exclusive rights and ownership. 3. One day they decide that the GPL version isn't benefitting their business anymore, and they go fully proprietary. They release a new and improved version with compelling features under a purely closed source model. With BSD-licensed software this can't happen because you can't start at #1.