4 ms·
MORE THOUGHTS: Perhaps I overgeneralized a bit. It does make sense to use a permissive license in certain circumstances. That would be when you need to use so
by JohnTHaller 14y ago
MORE THOUGHTS: Perhaps I overgeneralized a bit. It does make sense to use a permissive license in certain circumstances. That would be when you need to use something as a component of a larger project. Especially where that component is not a part of your core competency. That's where you'll see lots of companies working together on code that makes sense for them all to use rather than either forking it or closing it off internally.
Where it doesn't make sense is for overall applications or something within your core competency. In that case, you're enabling your competitor to take your business. Unless you're a software as a service company in which case in doesn't apply as much.
Let's take an example. If you're a company that makes a word processor and sells it, it makes zero sense for you to license your work under a permissive license. But, your word processor needs to work with zip files (the open document formats) and security (encryption/decryption). For those pieces, it absolutely makes sense to use a publicly available (and tested/proven) component for zip files and security and to contribute back to said component. This is a place where permissive licenses make a lot of sense.
As for Free licenses, they make sense in certain circumstances as well. Do you think Linux would be where it is today if it weren't for the GPL? Or Webkit (Safari, Chrome, Chromium, soon Opera, etc)? Where you have a whole product and you don't want someone to be able to take the whole thing, add a few minor bits, slap their name on it, and then sell it as if they built it. Or a competitor to have full access to it and be able to improve it without sharing the improvements with you. In this case, having these projects be GPLed helped all of mobile computing (and desktop and server computing as well).
As others have pointed out, I am aware that companies are made of people and will contribute back to software when they don't have to. But, as a general rule, they will only do this when it benefits them, as it does in the above-mentioned scenario around specific components. They generally won't do this when it does not benefit them.
As for my experience, I founded and am lead developer of one of the all-time top projects on SourceForge (millions of users around the world, etc) and we use the GPL license on our core competency stuff (platform and tools). At the same time, we use MIT/BSD/zlib licensed code from other projects for specific components and contribute back our changes under the same license the source project uses.
As for dealing with companies, we have had 2 fortune 500 companies take our software and use it in violation of the GPL and our copyright (that we know of) and use it in commercial projects in an attempt to compete against us as well as dozens of smaller companies and individuals doing the same. None of them had any intention of ever giving back. As a general rule, smaller companies and companies within software that have a reputation to uphold (Apple, Google, Microsoft) are much better at bother understanding and obeying licenses as well as being good open source citizens and giving back.
- calinet6 14y agoI think this is the key: different licences for different markets and needs. Linux needs the GPL, Rails needs MIT, not because one license is better than the other, but because each license enables the success of the project within the target market ecosystem. Perhaps the reasons behind this could be studied more, but I think it comes down to something about how generic the software is, whether it can be extended/used effectively in commercial realms without being unnaturally restricted by the license, and what level/type of contributions are required for the continued success of the project. Both licenses work extremely well for their respective projects. Similarly, I run a GPL project, and I couldn't imagine using a more permissive license, but the product is standalone and the GPL just works well for the situation. This is all making more sense to me now, thanks for your continued thoughts.