23 ms·
My Personal Journey from MIT to GPL
- rmtech 7y agoCan somebody clarify for me - if you write 9,990 lines of proprietary code and include 10 lines of GPL code, the whole 10,000 becomes GPL, right? And then the whole 10,000 becomes public property according to the GPL so the person who wrote the 9,990 lines of proprietary code starves to death and dies because you can't monetize public property, and our food system only accepts money in exchange for food, not "good deeds" or whatever? If so, then this is what people mean when they say the GPL is a "general public virus".
- evmar 7y agoIf I make a movie and include your copyrighted song for just three minutes of the intro, my whole movie violates the law. Or if I write a book and copy-paste just one chapter you wrote on your blog into it, the book also violated your copyright. And I "starve to death and die" because yes, in this world you can't just take things that other people have made and use them in whatever way you like -- if you can't obey the terms that someone else has given for the use of their creative work, then don't use their work.
- rmtech 7y ago> if you can't obey the terms that someone else has given for the use of their creative work, then don't use their work. Yes I agree, but the conclusion to this is that you probably should never use the GPL. If you want other people to be able to use your code, use the MIT license. If you want to monetize your code/keep it secret/sell it, then don't try to open-source it. The GPL makes code radioactive and useless to everyone. I get the intent in the OP that people should obey the golden rule and only build open source on open source. But what actually happens in my limited experience is that when a company comes across GPL code, the boss asks you to find equivalent code with an MIT license and ditch the GPL code. If no such MIT code exists, the boss asks you to find another way, or to rewrite the GPL code yourself and keep it secret, or maybe even release it as MIT code. GPL code is a dead end because it poisons other code. And the fundamental reason for this is that programmers have to get money somehow, which almost always means being able to have some of the code they write as closed-source. MIT allows closed and open source to exist side-by-side. You can write some code that does something, release it under the MIT license on GitHub, and also use it as a component of your company's proprietary product which ultimately pays for you to eat and live. And this problem recurses. If I am not in a corporate setting and I am choosing between a GPL library or an equivalent MIT library to use in my own open source application, I should choose the MIT one because otherwise my open source code becomes "infected" with GPL, meaning that people in a corporate setting can't use it. If I'm deciding which library to learn as a hobby I should choose the MIT one because that will be useful for getting a job. Etc. GPL will IMO be radioactive for as long as we insist that most programmers have to sell something in order to have a house to live in and food on the table. If the rest of society sets up a big fund to hand out money to programmers who make useful software, then we can talk about GPL. But actually even if such a fund existed I still think MIT would be better.
- mathnmusic 7y agoGPL is an activist license. They have a worldview that they think is more right than others. It's of course not optimal for everyone. They think that closed source software is "morally wrong", and therefore "allowing closed and open source to exist side-by-side" is not really their goal. As a user, I prefer GPL's activist stance, rather than MIT license's non-activist approach which essentially translates to an ethics of "might is right".
- rmtech 7y ago> They think that closed source software is "morally wrong", and therefore "allowing closed and open source to exist side-by-side" is not really their goal. OK, that's nice but can these people explain to me how I should pay rent?
- deleted 7y ago[deleted]
- icebraining 7y agoWork for one of the thousands of companies that pay you to write GPL licensed code? I can give you some references, having worked for one for a few years (specifically, we wrote Odoo modules for various businesses).
- rmtech 7y agoAnd how does the company get money?
- icebraining 7y agoSales of the modules, optional support contracts, and SaaS hosting of the GPL application and our GPL modules for people who prefer it to self-hosting.
- mcsofake 7y ago
- filmgirlcw 7y agoExcept that analogy doesn't quite work. If you use a copyrighted song in a movie, you can choose to license that song (and the terms of use and cost will be up to the rights holder) -- licensing that song doesn't give the rights holder reciprocal access to your film. So yes, I agree with you that you need to obey the terms someone else has used for their work, or else you shouldn't use the work -- but your analogy with regards to a film or a book isn't accurate.
- deleted 7y ago[deleted]
- mcguire 7y agoYou are welcome to negotiate a second license to avoid the GPL.
- rmtech 7y ago> You are welcome to negotiate a second license to avoid the GPL. I have seen this in real life a few times. Usually something gets released under the GPL and then the authors ask for $ to hand it out with a commercial license on a case-by-case basis. But in practice it is difficult to negotiate a truly fair price if the market is somewhat thin and the size of the code is relatively small. I've seen this for ML datasets for example, collected using taxpayers' money and the author wants $50k per license to allow a company to use it. But that $50k represents what the author thinks they can get away with, not the true value of the dataset to your algorithm. In reality companies (in my experience) stay away from this, and for good reason. In cases like this I definitely wish GPL didn't exist, because if the academics who made the dataset had to choose between MIT or secret/proprietary, they would not be able to get away with Keeping their taxpayer funded dataset secret. (Because then taxpayers would be like "yo, wtf are we paying you for?"). One reason open source is good is that code markets just don't seem to work very well. But the good kind of open source is MIT licensed code.
- mcguire 7y ago"But that $50k represents what the author thinks they can get away with, not the true value of the dataset to your algorithm." That is how the market works, right? The price of something is set not by the "value" but by what the seller can get. Researchers "get away" with keeping their data proprietary all the time.
- mathnmusic 7y ago> if you write 9,990 lines of proprietary code and include 10 lines of GPL code, the whole 10,000 becomes GPL, right? NO. GPL mentions no where about 10 being the minimum # of lines. All it says is that if your work is a "derivative" of the GPL code, then it must be GPL'd. Courts will determine whether including 10 lines of GPL code make your product derivative or not. The assumption is that a reasonable criteria will be evolved to determine when is something derivative and when it isn't.
- rmtech 7y ago> Courts will determine whether including 10 lines of GPL code make your product derivative or not. OK but in reality that means the cost of including those 10 lines is that you are exposing yourself to an unknown amount of legal risk, and our legal system has a highly nonlinear penalty system, so it's basically as if the 10 lines infect your whole codebase with GPL.
- mathnmusic 7y agoI feel this is a bit of exaggeration. You are copying someone else's work without complying with their license. That act, not the fact that it is GPL, is exposing yourself to unknown amount of legal risk. Legal system does have nonlinear penalty system but at the same time, judgments are expected to be reasonable and fair. Courts will not force you to GPL your code, but they may stop you from distributing your work - which is EXACTLY what they'd also do in case of a plain old copyrighted work. In the best case, GPL gives you more freedoms and in the worst case, it reduces to standard copyright law. To reduce the risk, you can go through how courts have interpreted and applied the definition of what a "derivative" work is.
- rmtech 7y ago> You are copying someone else's work without complying with their license. That act, not the fact that it is GPL Right, so the correct conclusion is to never use, never contribute to and never write GPL-licensed software. Then you comply 100% with GPL, you have no legal risk and you also have money to pay for your Gatorade. In fact the best solution would just be to completely rid ourselves of GPL?
- pessimizer 7y agoIf you wrote 9,990 lines of proprietary code and included 10 lines of proprietary code from another company, I imagine that your entire program would have to be approved of by the other company in writing, or you wouldn't be able to distribute it. What's supposed to be the difference here?
- rmtech 7y ago> proprietary code ... What's supposed to be the difference here? The difference is that GPL is claiming to not be proprietary...
- icebraining 7y agoWhich is why you don't need to ask for permission, just follow the license.
- rmtech 7y agoIf you're a business, the license effectively says "you can't use this software" though, because as discussed previously it makes all the software that it touches into GPL software so you can't sell it, which is the point of a business.
- icebraining 7y agoYou can sell GPL software. It paid my salary for years.
- rmtech 7y agoI don't understand?
- icebraining 7y agoWhat is there to understand? We sold GPL licensed extensions to a GPL application, and made money. All perfectly valid under the license: https://www.gnu.org/philosophy/selling.en.html https://www.gnu.org/philosophy/selling.en.html
- craigsmansion 7y ago> if you write 9,990 lines of proprietary code and include 10 lines of GPL code, the whole 10,000 becomes GPL, right? No. The 9990 lines remain under whatever license you desire. The 10 lines remain GPL. You can't distribute the whole work. > And then the whole 10,000 becomes public property according to the GPL The GPL doesn't make software "public property", whatever you think that entails. > so the person who wrote the 9,990 lines of proprietary code starves to death and dies because you can't monetize public property, No capable programmers starve to death, or even earn poorly because of the GPL. Approximately 90% of programming work is in-house development. > because you can't monetize public property, I don't know what this means; the GPL isn't about commercial software but proprietary software. >and our food system only accepts money in exchange for food, not "good deeds" or whatever? Again, I don't know what this means or what money (or even food), have to do with anything. >If so, then this is what people mean when they say the GPL is a "general public virus". If so, they are woefully misinformed and shouldn't be writing any sort of detraction lightly disguised as a very poor analysis online when the GPL is being discussed.
- bscphil 7y ago>> if you write 9,990 lines of proprietary code and include 10 lines of GPL code, the whole 10,000 becomes GPL, right? > No. The 9990 lines remain under whatever license you desire. The 10 lines remain GPL. You can't distribute the whole work. It would be more accurate to say that if you distribute a combined / derivative work that incorporates those 10 lines of GPL code, you have to do so under the terms of the GPL. To do otherwise is copyright infringement of the GPL code.
- oarsinsync 7y agoThis very clearly and simply describes the differences between absolute freedom, limited freedom, and the value of limiting freedom. In a way, it's similar to the paradox of tolerance, and a tolerant society needing to be intolerant of those that are intolerant. Or to quote Team America: freedom isn't free. I may be re-thinking my own use of BSD licensing in favour of something more copyleft in future too.
- umanwizard 7y agoMy view is: if you don’t care what people do with your software and just want anyone who finds it useful to use it, including anyone from Stallman-esque ideologues to cogs in the FAANG machine and everyone in between, then use BSD, MIT or similar. If you care about “free software” as an ideological movement and only want to give your software to people who are, in exchange, willing to help advance it, then use copyleft. I am sure that some copyleft fans will have different interpretations or motivations. I’m just giving mine :) (This all applies to contributions done in an individual’s free time. Companies contributing to open source for strategic reasons might think about these decisions in different terms).
- abstractbarista 7y agoExactly the same for me. For most personal creations, I seriously do not care at all what happens to it. I just don't want to be successfully sued over it.
- dmm 7y agoI use the GPL because I want every user of my software to have the right to use, examine, modify and create derivative works. Every user, not just programmer and entrepreneurs making products. I want to live in a world where software, which plays an increasingly important role in our lives, can be modified by anyone. Imagine if only google could fix your plumbing I've found that programmers tend to frame licenses in they way you have, placing emphasis on how the GPL affects them and describing the GPL as a way to enforce tit-for-tat but software is such an important part of everyone's life now that it's worth considering how licenses affect non-developers too.
- coreyp_1 7y agoThis includes a cynical view of capitalism, too.
- whatshisface 7y agoSoftware is full of tiny monopolies and it's standard consensus that monopolies cause the market to fail.
- zepto 7y agoThere’s no such thing as a tiny monopoly.
- whatshisface 7y agoAn example of a tiny monopoly would be a program with no alternatives that performed a task worth a few thousand bucks to 20 people on Earth. It doesn't have to be Standard Oil for monopoly pricing to take effect, if the market is small enough the mere fact that two vendors couldn't survive at the same time would be enough to keep out competition. Another example would be proprietary data formats, if your program is the only thing in the world that writes and reads an Oracle database, you can charge monopoly prices to anyone who has an Oracle database - and unsurprisingly, Oracle does.
- zepto 7y agoThere is no monopoly in either case you describe. In both cases there is competition from other solutions. People can and do migrate away from Oracle all the time, and that does constrain the price. Your other example is obviously not a monopoly since the supplier has no pricing power.
- kazinator 7y agoThe alternative is for those 20 people to learn to code, or spread the word that they are looking to pay for an alternative. A monopoly occurs when competition is actively prevented, in spite of its ample competitive ability. The monopolist uses its power to block the entry of new competition, even if that competition has the product, know-how and so forth. In some cases monopolies are geographical, like utility companies. Another utility company is just as capable, but it and its wiring/plumbing is in another district. The mere difficulty of mustering a viable competitive effort (e.g. it being difficult to write a replacement program that those 20 people are willing to use instead) is not a monopolistic entry barrier.
- lone_haxx0r 7y ago> Capitalism is about enriching yourself - not enriching your users and certainly not enriching society. Capitalism is not about enriching anyone, it's about being free to do whatever you want with your resources. Free software developers use their resources to enrich society (and I applaud their work). Mark Zuckerberg uses his resources to enrich himself. Both are being capitalistic, as long as they don't steal or kill (I'm sorry, Hans Reiser). They freely decide who to work for.
- briandear 7y agoCapitalism is the most selfless economic system. It’s predicated on providing others with things they want at a price they are willing to pay for it. If you aren’t making a product or providing a service that others value, you do not succeed. Socialists like to frame capitalism as selfish, however, it’s exactly the opposite, you must provide value to others in order to succeed. The downvotes of your comment (and the inevitable downvotes for this one,) suggest that there is a fundamentally misunderstanding of capitalism. Capitalism requires that it’s participants provide value. Capitalism rewards providing others with things they want. When markets are distorted, often by government mis-regulation, it is then that capitalism struggles; it is then that the goal becomes not one if providing people with what they want and are willing to pay for, but one of providing government with what government decides what people should want.
- TuringTest 7y agoCapitalism has an enormous blind spot, in that it doesn't contains ethic provisions on what happens in a free market to people not able to create value that others are willing to pay for. Given the relentless tendency of capitalism to optimize towards eradicating any inefficiency, it contains as a natural consequence the propensity to expel those people out of the system - i.e. the ethical proposition of capitalism is essentially "produce or die". There are some relief provisions against this outcome of people being expelled from the system, supported by those who reject it as immoral; but they are typically frowned upon by those who see capitalism as an ethical system. The first one is building an unconditional safety net to take care of those who have run out of resources to compete inside the system. There's also the possibility to create make-believe work so that everybody will be able to earn a living; not exactly efficient, but for some reason this tends to be better accepted by free market supporters.
- theturtletalks 7y agoI about to launch an open core SaaS and all these articles about open source software getting exploited and how copyleft should be the way to go is getting me confused. The software is for e-commerce. So if users use it to make more money, is that considered commercial use? Would the copyleft license require them to get a commercial license then? Would this cause less adoption and less use of the software? What kind of license would protect us from someone coming along and replicating our open core model using the open source app?
- ocdtrekkie 7y agoNo, copyleft doesn't prevent commercial use. In fact, preventing commercial use is impossible with the GPL.
- theturtletalks 7y agoSorry I was under the impression copyleft meant that commercial users must purchase a license and normal users could use it for free. Is this what CockroachBD just did?
- mrob 7y agoFrom the Open Source Definition[0]: >The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research. From the FSF's "What is free software?" page[1]: >A free program must be available for commercial use, commercial development, and commercial distribution. Licenses like CockroachDB's with restrictions on commercial use are "source available", which is a form of proprietary software. [0] https://opensource.org/docs/osd https://opensource.org/docs/osd [1] https://www.gnu.org/philosophy/free-sw.html.en https://www.gnu.org/philosophy/free-sw.html.en
- kemitchell 7y agoIn my experience advising clients who haven't already spent years reading about open source licenses, those lines confuse more than clarify. The dominant mode of commercial software development is closed. Many commercial firms forbid the use of copyleft software components that might compel licensing choices about company work.
- OJFord 7y agoThe links to 'blogs I follow' with preview at the bottom is neat; > Generated by openring https://git.sr.ht/~sircmpwn/openring https://git.sr.ht/~sircmpwn/openring Nice.
- TuringTest 7y agoMIT-like freedom is the "freedom to sell yourself as a slave". GPL is "your liberty ends where my nose begins". If you understand freedom as the removal of social constraints, you won't understand the value of something like GPL software or Wikipedia. If, on the other side, you think of freedom as the capability to do things, the accumulation of knowledge in copyleft projects creates possibilities that are less likely in a permissive project, where anyone can capture a version under a proprietary license at any time and evolve it as closed source (compare the ecosystems of Linux and Android for a practical example).
- munificent 7y ago> MIT-like freedom is the "freedom to sell yourself as a slave". I don't think this analogy is strictly wrong, but the tone is insensitive enough that it is unlikely to be persuasive to the people you are trying to persuade. (Also, some will feel that it diminishes the gravity of actual slavery.) I agree with your point, but I think you would be better off stating it in a different way.
- TuringTest 7y agoYou're of course right. I created that line for a different place, aiming for a provocative adage that would capture attention (by being aggresive) and make people think by getting straight to the point and highlighting the paradox of "pure freedom". For that purpose, being controversial and rough was a feature, even at the cost of causing initial rejection. I copied it here to deliver the basic idea as fast as I could, but it certainly is out of context as the starter of a calm conversation with more time to expose ideas and ponder them, as is the style of this forum.
- c0vfefe 7y agoThe classic dilemma of whether presenting the extreme version of your view will shock people towards, or away from your view.
- raphlinus 7y agoI absolutely encourage people to choose the license that works best for them. My motion has been the other way, all my new stuff is permissively licensed. This is basically because I want my work to have broad impact, and have the possibility of collaborating with as many others as possible, including those making proprietary software. I'm a fan of Drew's work, and also hope to help GPL projects such as Inkscape (I met many such developers at Libre Graphics Meeting). Choose the license that works best for you, and if you can articulate the reasons for your choice, as Drew has done here, even better.
- catdog 7y agoIt really depends what your goal is if you choose a copyleft license or not. As far as I know even the FSF acknowledges that for pursuing some goals (e.g. driving adoption of open standards) a more liberal license is an appropriate choice.
- neuland 7y ago> The GPL is the legal embodiment of this Golden Rule: in exchange for benefiting from my hard work, you just have to extend me the same courtesy. This is a great article that's focused on just explaining why GPL is good. But I'm wondering what people think about enforcing this part of the GPL. I was very disheartened to see the Linux community's and other GPL projects' attitude to enforcement actions brought by individuals. If you ask people to contribute under the terms of the GPL, I think that it is fair for those contributions to be enforced. And unless a project has some kind of CLA that excludes it, the individual contributor should be able to hold violators to the copyleft portions of the license.
- oarsinsync 7y ago> I was very disheartened to see the Linux community's and other GPL projects' attitude to enforcement actions brought by individuals. Can you share some examples of what's happened that's disheartening? I'm assuming based on context that the reaction to individuals enforcing GPL violations have been negative, which I would agree is disheartening. If you don't enforce the terms, the terms are valueless, and you might as well just use a more permissive license.
- neuland 7y agoThe big case recently was in Germany against VMWare [0]. They lost that case. But it was controversial partly because the person (who contributed a non-trivial amount of networking code) was asking for monetary damages in addition to bringing the company into compliance. But setting the money aside, even the enforcement part was flamed by Torvalds and Greg KH [1]. The gist was that they're able to bring more people into compliance by working with companies behind the scenes. And lawsuits shut down all that backroom handholding. So ultimately, the lawsuits result in less compliance and less Linux adoption. Linus mentions BusyBox specifically, where attempting to bring companies into compliance just led to fewer users and a shitty closed source alternative that these companies started using instead. From Linus' perspective that's lose-lose: fewer users and more closed source software. But from people interested in GPL enforcement, they are more interested in not having their contributions abused by companies for profit. So if they won't give up their bad attitude, that's not the GPL projects' problem. [0] https://lwn.net/Articles/635290/ https://lwn.net/Articles/635290/ [1] https://lists.linuxfoundation.org/pipermail/ksummit-discuss/2016-August/003580.html https://lists.linuxfoundation.org/pipermail/ksummit-discuss/...
- forkerenok 7y agoI have a feeling that the jury is still out on this one. My observations are that: * MIT license increases adoption of OS projects, increasing pool of potential contributors and derivative works * People like sharing what they create, hence derivative works are likely to be shared with the world as well. I know there are companies that utilize tons of free code without contributing enough back. Overall to me the difference: * MIT license increases throughput, hence increases participation in absolute terms * GPL licenses limit throughout, but improves overall quality of participation
- Arkanosis 7y agoThat's my observations as well. I'd add that people share derivative work not only because they like it, but because it makes sense: upstream means much less maintenance and infrastructure work, many more opportunities for improvements. I believe in FOSS so much that I'm confident anyone smart enough will end up using it and contributing to it to some level. It might take a lot of time, but it'll happen. Companies not doing FOSS have a competing disadvantage in the long run. Sure, not everything will be contributed back. And so what? It wouldn't have been anyway if the license terms had discouraged the use of FOSS in the first place. What matters to me it that /more/ is being contributed back. Short version: part of much more > everything of much less. So, I'm very fine with any non-FOSS reuse of FOSS projects. It directly increases the likehood of improvements to these projects and indirectly increases the likehood of improvements of FOSS in general, by making it more and more relevant in still-non-FOSS environments (the long tail of small FOSS projects is what makes it ubiquitous). Just don't ask me to use non-FOSS derivatives :)
- forkerenok 7y ago> Short version: part of much more > everything of much less. Well said. A net win for FOSS.
- mcguire 7y agoHistorically, this is false. See Sun, HP, SGI, IBM, and a good host of others.
- yingw787 7y agoLinux probably wouldn't have gotten the investment to become the server OS of choice if it wasn't for Microsoft and Oracle licensing. Chrome only has user concerns now because of business constraints around adblock, and only then do users gravitate back to Firefox (I am guilty of this). GPL in this sense might get in the way of providing user impact, and IMHO positive user experience with FOSS is critical to sustaining FOSS development. I'd love to see hard metrics on enterprise Linux tech stacks; I would hazard to guess most business-critical FOSS is Apache/BSD, the latest Javascript framework is probably MIT, and most UNIX-philosophy FOSS (those with a "done" point) is GPL.
- godshatter 7y agoFirst, I'm not a lawyer, but I've always seen the MIT license as being more "free", whereas the GPL is more "fair". Both licenses are pretty much the same for users of the code. Where they differ is that the MIT license gives you the freedom to make an awesome change to the free code you were given, and add it to your closed source application with no obligation to give those enhancements you made to the code to anyone else. This is more "free". You made the enhancements, why shouldn't you keep them for yourself? It's not unethical since the developer chose that license knowing what it entailed, but it's just less "fair". The GPL is all about making sure that those awesome changes you made can be used by others so that they can make other awesome changes to the code. You were given free code that benefited you, so you should pass on any changes you made to the code to others so they can also benefit from it. And so on. That's my basic understanding of the differences, anyway. I personally prefer the GPL way, but I have yet to use either license on code I've written.
- CarVac 7y agoPermissive licenses give freedom to the developers who use code under that license. The developer is free to restrict the users' freedoms. Copyleft licenses grant freedom to the users of software: a developer cannot restrict a user.
- Wowfunhappy 7y ago> the MIT license gives you the freedom to make an awesome change to the free code you were given, and add it to your closed source application with no obligation to give those enhancements you made to the code to anyone else. It's also the freedom to make zero changes to the free code you were given, reuse it in your closed source software, and pass it off as your own. In a way, I feel like I should be a big enough person to be okay with this, but I'm not. The possibility bothers me.
- umanwizard 7y agoIs this meaningfully different from being able to build a multi-billion dollar company like Red Hat on top of other people’s GPLed work? Yes, because of the GPL, they have to give RHEL customers the source to all their patches, but what difference does this make in practice?
- inapis 7y ago>Capitalism is about enriching yourself - not enriching your users and certainly not enriching society. Is all capitalism bad? I bought Alfred, Fantastical, Little Snitch and Better Touch Tool. I certainly feel my life has been enriched because of those tools. Does all enrichment have to be direct and linked, by say, bartering code or work? Such a binary representation of ideologies very conveniently forgets that humans operate on shades of gray. Crony capitalists need to be dealt with but that doesn't imply the system itself is shit. Even in a socialist system, the power gets concentrated somewhere and if you try to implement a flat organisation, a lot of projects slow to a crawl because everyone has different needs and expectations. And if I'm enriched, isn't the society also enriched? If paid software improves my productivity so that I can focus on more important tasks that help improve society, isn't that an indirect benefit? Does all "enrichment" have to be direct, linkable and traceable?
- cryptonector 7y ago> The GPL is the legal embodiment of this Golden Rule Sort of. It's a bit more like a golden pact with teeth. You can get excommunicated for not following the pact you agreed to. I suppose that's fine. But I prefer not to tempt others to agree -- let them find their own way. Contributing helps the contributor by avoiding having to have local patches, and by getting them reputation and good will points. Sure, a big company might fork an MIT codebase forever and keep it closed, but that's OK with me.
- beefhash 7y agoOne thing that's worth considering making an exception for, no matter your ideological stand point, is cryptography libraries. I want everyone to get cryptographic code right, ideally with one implementation that is correct, and then that's the end of it for everyone. Because if commerical vendors do their own thing because of copyleft on a piece of cryptographic code, the one that really ends up suffering is all the users that didn't have a choice in the matter of using said commercial software.
- jeena 7y agoOr, if its a permissive license then the company makes changes to it which break it so that it's less secure and the end user can't even check that (or ask someone to check that) it's not broken. Then the user ends up suffering because they didn't have the choice in the matter of using to be able to check if everything is ok. This is even worse because it pretends making security better but does not deliver. Then it would be better if this commercial software would not exist.
- mplanchard 7y agoDo the LGPL and similar weak copyleft licenses not satisfy this goal? As long as the company publishes any modifications to the library itself, they are free to use it, whether or not they open source their project.
- beefhash 7y ago
- TazeTSchnitzel 7y agoConsider licenses like MPL (or arguably LGPL) which are a halfway house here. If someone uses your library, your code is copyleft, but the rest of the app may be something else.
- elagost 7y agoLately there's been a lot of relicensing stories this year, mongodb[1] being the one I thought of first. It seems like the GPL is just a way for groups to protect their own assets without getting ripped off, and more permissive licenses (BSD, MIT) don't give the creator of that software the same protection. However, if you do violate the GPL and release a closed-source product, who's to tell? Who will know? Always struck me as weird. [1] https://www.zdnet.com/article/its-mongodbs-turn-to-change-its-open-source-license/ https://www.zdnet.com/article/its-mongodbs-turn-to-change-it...
- kemitchell 7y agoA number of organizations are actively involved in GPL enforcement. The most active these days is probably gpl-violations.org, in Europe. https://en.wikipedia.org/wiki/Gpl-violations.org https://en.wikipedia.org/wiki/Gpl-violations.org
- corkscrew 7y agoThis recent talk by DHH also discusses this topic. https://www.youtube.com/watch?v=VBwWbFpkltg https://www.youtube.com/watch?v=VBwWbFpkltg
- monocasa 7y agoI'm a big fan of Social Architecture by Pieter Hintjens, and it's explanation for why he picked GPL instead a BSD license. BSD tends to fracture the community, and the community is generally even more important than the code, per se.
- mark_l_watson 7y agoI agree. I use Apache 2 for code examples in my books but otherwise I prefer GPL. I have a many repos in github that are private and I have been considering releasing everything under AGPL, sharing but forcing improvements to also be shared.
- threwawasy1228 7y agoI can't relate to this at all, I feel like I went the opposite way. I started out putting all of my work out under GPL but slowly realized how restrictive and demanding such a license actually is, I think public domain is the license that provides the most good to the world as a whole. It enriches everyone, even those who I don't necessarily agree with. It is a much more powerful statement in my view to provide work in a way that allows the entire world, (corporations included) to enrich themselves and educate themselves in an open and free manner. If this means that they are going to repackage and sell the work, that is their prerogative. If that means a professor wants to put the work into their course and help to instruct a class with it, that is great too. It is nice to attempt to force people to play by the rules I like in order to try to enforce the actions that I see as best for the world, like sharing, etc. But at a certain point you just have to realize that there are differing points of view, that is just the way things go, and "progress" includes all of them.
- flamtap 7y ago>But at a certain point you just have to realize that there are differing points of view, that is just the way things go, and "progress" includes all of them. This is really insightful, to me. Worth keeping in mind in today’s world.
- kerkeslager 7y agoEh, is it really insightful? It just seems straightforwardly wrong to me. Nazism is a viewpoint. Does progress include that? I know I'm triggering Godwin's law here, but if you're literally saying that progress includes ALL viewpoints, you're really opening yourself up to including some really ridiculously outlandish ideals.
- klyrs 7y agoThere's an addendum, regarding speaking out against actual nazism https://www.thestranger.com/slog/2018/06/19/27874178/godwins-law-suspended-by-godwin https://www.thestranger.com/slog/2018/06/19/27874178/godwins...
- haberman 7y ago> If the people with their fingers on that button held these same ideals, we wouldn’t need the GPL. The reality, however, is that we live in a capitalist world. Our socialist free software utopia is ripe for exploitation by capitalists, and they’ll be rewarded for doing so. Capitalism is about enriching yourself - not enriching your users and certainly not enriching society. We like to talk in favor of abstract ideals and moral arguments, but I think a lot of our underlying motivations come from our feelings towards (and relationships with) other people. If you see the world in this way (good socialist free software utopians vs. greedy capitalists) then all of the rest of the argument basically falls into place. I'm not even saying that's right or wrong. I'm saying that no amount of abstract argument will convince someone out of their position if their underlying feeling towards other people is already firmly held. I'm including myself in this.
- UglyToad 7y agoHmm, I may have misunderstood your point, but as someone socialist / communist leaning I actually intensely dislike the GPL, as far as my admittedly limited, understanding of it goes. GPL needs enforcement which requires the force of law and loss of personal freedom. Perhaps I actually do agree with you after all then, but there's a second axis, Libertarian vs Authoritarian, where I think GPL requires Authoritarian enforcement?
- dbcurtis 7y agoPeople should chose a software license the way they choose a screwdriver, not the way they chose a religion. Choose the tool that accomplishes the job. Do you want to avoid commercial exploitation without repayment-in-kind in the form of contributing back? Use GPL or similar (although this is getting creaky in the case of SaaS deployments). Do you want total world domination for your new protocol? Release a reference implementation under MIT or similar. License debates go off the rails because too often people try to compress a two-dimensional discussion (ideology and distribution rights) onto a single dimension and talk past each other. So this blog post seems to say: "I have changed my religion." To which I say: "Consider choosing licenses more strategically."
- TeMPOraL 7y agoI'd s/religion/principles/, and then it becomes clearer why the topic isn't completely arbitrary and may have moral weight.
- whatshisface 7y agoReligion is a fair analogy, because it has a lot of weight to people who agree and no weight at all to people who believe something different.
- dbcurtis 7y agoNo, that substitution completely misses my point. One can have deep and well thought out principles and morals and apply that to the strategic selection of a license, and also in choosing which projects are worthy of contribution. Ideology-based decisions are in a different category. When I look at RMS, I see someone who has thought deeply about the implications of various licenses, and has decided firmly what kind of projects are worthy of his time. He has an agenda, and acts upon it thoughtfully. Some of his followers are not nearly so thoughtful. All I am saying here is this: before choosing a license, be clear in your own mind about your agenda.
- ZeroGravitas 7y agoAs an example to back up your point RMS has explicitly supported the use of non-GPL licenses for codecs as a strategic move to avoid being shut out of that market by network effects.
- mhh__ 7y agoI worry that the downturn of GPL use will have consequences in the future. I understand why the GPL has its issues in context/s, but I don't see why it shouldn't be the default for open source where possible. The political argument that gave birth to GNU/FSF seems to have lost it's bite in this day and age (perhaps due to a feeling that now open source is the de facto default, it will always be this way?)
- normalhuman 7y agoOpen Source failed. It remains as something that is useful to build software, but its political aims were defeated. The political goal was to give users absolute control over their computational environments. In reality, we have less and less control, because computations moved to the cloud (corporation-controlled servers) and the most used devices regressed to a non-hackable state (mobile gadgets). Even if you use a Linux desktop with 100% open source software, you will still probably do a good part (and the most sensitive part) of your computations on someone else's computer, that you do not control. Open Source ended up making it easier for companies to build this new world, because it provided them with perhaps billions of man-hours of free effort. The strategy of Open Source as a political movements made sense in the 1990s, but we need something new for 2019...
- anderspitman 7y agoThat's an interesting take. Somewhat random question that came to my mind: Do you think it's more important for a user to be in control of their computation, or of their data, or are they equally important?
- nfoz 7y agoI'm not the parent, but IMO the end-user should be in control of the computation on a computer... and that concepts of "ownership" don't really apply to data. So when you say "their data", it is very unclear what that should mean. I'm a copyright abolitionist, so I think when you write a book, you can only "own" that physical copy. When someone reads that book, the words in the sequence that they read them are now part of their memory and autonomy of thought. And so on.
- la_barba 7y agoI agree with the author that the GPL engenders a sharing atmosphere, and given its wild success, much more than any other license. It would be amazing if all software could be like this, but you also need to take into account how you're going to make money, and not just for subsistence, as a sustained income so people can take up a job, enjoy a decent life, and save some $ for retirement. Only a handful of high profile GPL projects, probably (wild guess) 0.0001% of the total number of projects have achieved this. Would you take up a job if you had those odds?
- icebraining 7y agoPlenty of people make average developer salaries writing GPL code, you just never heard of them. Look into open source business software, especially custom development, and you'll find thousands of small and medium companies hiring. I've worked for them over a few years, in multiple countries.
- garmaine 7y ago... Linux?
- TheMagicHorsey 7y agoI feel like OP is naive. If he thinks Capitalism is so bad, why is he insisting that people pay him back in their own labor when they use his code? Isn't that what the GPL is? You use my code, and then you must pay back to me your improvements on the code. What if someone doesn't want payment in labor, but instead wants some carrots? If they make a license that says, use my code, but send me carrots, is that worse than OP's insistence that he should get paid in the code of his users? And if asking for carrots is okay, then why not asking for cash, which is more fungible? This isn't about morality. Everyone is seeking something ... even those that use BSD or MIT are seeking something. They are seeking recognition, or adoption of their protocol so they can build a symbiotic business, etc. True altruism exists, but it doesn't have a widespread impact. If altruism really did work like that, without a care for personal well being and on a large scale, then we would all be immigrating to a thriving Soviet Block right now, while the USA would be collapsing ... instead of the other way around.
- pessimizer 7y ago> Isn't that what the GPL is? You use my code, and then you must pay back to me your improvements on the code. No. You're not obligated to pay me back, you're obligated to share the code with the public. You can't exclude me, because I'm part of the public, but you don't have to have any contact with me at all.
- tannhaeuser 7y ago>you're obligated to share the code with the public. You can't exclude me, because I'm part of the public Not with the general public, nor with you as the original author, but only with users of your GPL-derived software. This might be a technicality, since users can re-publish to the general public; but then I'm not sure since they aren't required to.
- ghaff 7y agoIt's a very natural human reaction to push back against the idea that someone else might profit from your work--whether or not you have any real opportunity to profit yourself. That was really one of the geniuses of open source licensing (including the GPL) as it developed. By contrast, in the PC world for example, there were a lot of licenses along the lines of "free for educational use only" or "you can't use this software if you're an evil defense contractor." You still see this usage restriction thread of licensing in Creative Commons for example with non-commercial and no-derivatives being common--even though CC has basically been unable to come up with a workable definition of NC in a decade of trying and ND runs completely counter to the whole idea of remixing that partly drove CC in the first place.
- biomcgary 7y agoI recently ran into a modified MIT license with a no-military clause. My company would not use the otherwise very nice package because, unfortunately, it includes an "indirectly" in the language. We don't have anything to do with the military, but our clients are large pharmaceutical companies, so they probably have military contracts.
- ghaff 7y agoJust purely from a practical perspective, lawyers tend to run screaming from a lot of usage-based restrictions. Even if they seem fairly straightforward at first scan, once you start asking questions (as in your case and non-commercial), all but the most trivial uses--in which the license doesn't really matter anyway--start to look like they might fall into a grey area. If your job is managing business risk, it's just not worth it.
- klyrs 7y agoNauty has a clause like this. Which is hilarious because Magma uses Nauty, and the NSA is one of Magma's biggest users if not the biggest. McKay apparently doesn't mind, but refuses to change the license
- megous 7y ago> It's a very natural human reaction to push back against the idea that someone else might profit from your work--whether or not you have any real opportunity to profit yourself. Purpose of GPL is not to avoid profiting from other people's work. It's to give user's freedom to inspect, modify and re-use the software. I now have a mental blacklist of GPL violators, that I bought or were given the HW of, that is useless, bugged, or otherwise crippled, and can't be updated and fixed, or used for new innovative things, because they failed to meet their obligations under the GPL.
- ekianjo 7y ago> The reality, however, is that we live in a capitalist world. Our socialist free software utopia is ripe for exploitation by capitalists Amusing point of view, when you realize that the largest GPL (or FOSS) projects (like the Linux Kernel for example) are developed and maintained by capitalistic corporations more than anything else - GNOME is developed/maintained by RedHat/IBM, Confluent develops Kafka, Facebook develops React, Google develops Android and Chromium, Dart, Go, Kubernetes, Tensorflow... the list goes on and on.
- aroberge 7y agoI teach Physics and Math. As a student, I enjoyed the freedom to consult textbooks, learn about new computation methods and be able to use them later when needed without worrying about potential restrictions. And I want my students to enjoy the same freedom. In my first projects, I used the GPL license but have moved since to almost always using the MIT License or, sometimes and when appropriate, CC-0. When I find some interesting looking project on github or elsewhere, I am always tempted to look at the code. However, if I notice that the code is licensed under GPL, I refrain to do so as I do not want to have to worry about finding some "cool trick" but not being able to use it later in my own code without fear of violating the license. I do get why some people swear by the GPL license, and I respect their choice and commitment to what they see as the greater good. However, I see it as a barrier to those that simply desire to learn.
- jbotz 7y agoI think you misunderstand copyright... you can't violate a license (that's based on copyright) by using ideas you saw in the source code. You really have to actually copy, verbatim, a significant chunk of code to be in violation of a software copyright. Sure, what constitutes a significant chunk is somewhat open to interpretation, but nobody who releases their software under the GPL is likely to ask a court for a ridiculously restrictive interpretation! I'm pretty sure Richard Stallman would be horrified by what you're saying here.
- UglyToad 7y agoI'm interested in this. From what I have read unless you do a 'clean room' rewrite, that is a team reads the code and describes the algorithm to another team with no view of the code, your work can be classified as a derivative work? Now there are grey areas for sure, but my problem with the GPL is knowledge should be a commons, not a field day for lawyers and a creator of 'thought crimes'. Maybe I have misunderstood that regarding derivative works but it still seems by enforcing obligations GPL doesn't meet my personal definition of free.
- jbotz 7y ago
- CJefferson 7y agoMy problem with the GPL is more low level. It (in my opinion) doesn't work well over very long periods. I work on an open source system which is over 20 years old. For a long time it was GPL v2. We had to either go GPL v2+, which assumes the FSF will never go crazy, or stick with GPL v2, which is incompatible with v3, which causes various problems. The GPL v2 and v3 are really strict compared to most other licenses, they don't really "play nice" with anything, including each other.
- c0l0 7y ago> [...] We had to either go GPL v2+, which assumes the FSF will never go crazy, [...] This is a rather common common misconception. If you use the "Version 2 of the GPL or any later version"-clause in your specific GPL licensing lingo, then any re-distributor may CHOOSE to distribute under GPLv3, or GPLv4 (if it ever exists), or, for that matter, also GPLv2. You're not bound to re-distribute under GPLv${latest} because of that phrase - so it is, in my pov, completely safe to go with the "or later"-clause. (But that also may be because I do trust the FSF to not "go crazy" in the forseeable future :))
- CJefferson 7y agoA future GPL v4 could say "Your code can be converted to the MIT license", or even "your code can be used by company X" in the event of a takeover (which I don't consider an impossible option).
- the_why_of_y 7y ago> "your code can be used by company X" in the event of a takeover The FSF is a tax-exempt 501(c)(3) charity; if it would institute policies to benefit a single for-profit entity, the inevitable IRS audit would be excruciatingly painful and likely result in jail time for directors.
- pessimizer 7y agoThis may go either way for you, but I feel like the GPL is the closest thing that programmers have to a union. It guarantees that our obligations to users and other programmers always supersede the obligations that we have to our employer. They are a law hack that encodes professionalism. edit: it seems obvious that a doctor's obligations should be to the patient, then to medicine, then to the particular institution they work for. A lawyer should protect the client, protect the legal profession, then protect whatever firm they happen to work for. Programmers should make sure that users have access to inspect the code that affects their lives; that other programmers can work with, learn from, and help the users to interpret that code; and that their company makes money. The only way that companies can accept being pushed to the third priority is by a united front of programmers who unambiguously swear to uphold the first two without compromise, and making what you do GPL is attaching an oath to that effect to everything you write.
- epistasis 7y agoMy problem with the GPL philosophy is that I can't find the mechanism that results in more general access to code in the world, when releasing your software as GPL versus BSD/MIT. What determines what's out there in the world, the decision to release source versus simply doesn't come down to "well I can use this GPL code as part of my project if I also GPL it, so I guess I'll share my code too." The decisions about whether to release code are made entirely independently of what libraries or code to reuse, and there's basically no code out there that's so special and unique that it could flip people one way or the other. The decision to release code along with the software is made due to other considerations, so claiming that GPL results in more code access seems impossible to defend, to me.
- dTal 7y agoI don't really think any of what you said is actually true. There are many types of software project where the license doesn't matter at all - what matters is that the software exists. Someone is willing to pay to get it made, and they don't really give a hoot about "licensing". I believe this actually constitutes the majority of software - it's just invisible because no one really has much incentive to release it. But I don't really see how, say, a festival's business model is undermined by making their lineup app open source. Next, there really is GPL code that's simply too special to ignore. One obvious example is the Linux operating system. Designing an embedded device? You're almost certainly using Linux. Maybe Linux doesn't do quite what you want - say, support for a given bit of hardware. Guess what, you can't ship your patch without publishing it - and now every Linux user gets to use that hardware, if someone's motivated enough to merge it into mainline. This is a real thing that happens all the time. We're not there yet (and we may never get there if people stop believing in the GPL), but you can imagine that if we get a world where all the important software is GPL, the sheer mass of it will overwhelm any other licensing considerations. "You can either participate in our ecosystem, or you can rebuild modern computing from scratch. Your call."
- jwgarber 7y agoI personally agree with the philosophy of the author: I think all software should be free, and in the perfect world, I would license everything I do under the GPL. However, not everyone in the open source world has this philosophy. A lot of people prefer more permissive licenses like Apache and MIT, and using the GPL excludes these people and projects from using the code - by its viral nature, any single usage of the GPL would force the entire project to be under the GPL as well. Cooperation is the greatest strength of the FOSS world, and so I'm willing to compromise a bit to make that possible. As such, I personally prefer the MPL - it is a weak copyleft license that enforces all modifications to the source code itself are released back (important for me), but unlike the GPL is not viral and will not spread outside its own source files to other projects (important for others). This way I can keep the project and all modifications to it free, but also allow it to be used by others who don't share that point of view.
- seandougall 7y agoI feel like where this debate breaks down is in trying to apply the same license to both reusable libraries and finished products. For a library, an MIT license is much more likely to get it adopted in a finished product that is accessible and maintained. A GPLed library can only get adopted in a GPLed project, which means there may be a ton of economic constraints that make the library's functionality inaccessible to anyone who doesn't have the time or expertise to build an entire application around it. Also worth noting: to most ordinary people, GPL on a library is like a Post-It that says, "Free—take one!" on the door of a safe. It's nice to have permission, but it doesn't do much good if you don't know anyone who has the combination. The GPL-everywhere philosophy seems to assume a magical utopia where everyone is a skilled programmer fluent in multiple languages. For finished products, though, an MIT license doesn't necessarily make sense, for the reasons lots of folks here have pointed out; namely, any big corp could compile the code unmodified, brand it, and sell it. If you want to make a complete application free and permissive for end users, GPL seems like the best way to guarantee that.
- atq2119 7y agoThis distinction is part of the reason why the LGPL exists, and why many libraries are in fact licensed under LGPL instead of GPL.
- bmaupin 7y agoLGPL still has enough restrictions that might discourage adoption of a library. I find the MPL (Mozilla Public License) is better if you want a GPL-style license for a library and don't want users to have to worry if they need to statically or dynamically compile, etc.
- ran3824692 7y agoNonfree software is often malware, https://www.gnu.org/proprietary/proprietary.en.html https://www.gnu.org/proprietary/proprietary.en.html , and it's nowadays built on top of permissively licensed free software. Its not just a difference of opinion and its not about "selling" the software. Red hat happens to sell lots of free software.
- calcifer 7y agoRed Hat is an anomaly, not the norm. https://techcrunch.com/2014/02/13/please-dont-tell-me-you-want-to-be-the-next-red-hat/ https://techcrunch.com/2014/02/13/please-dont-tell-me-you-wa...
- icebraining 7y agoThere are many, many companies selling Free Software. I personally worked five years for one, getting paid for writing A/LGPL licensed code. It's just that they're small companies working as a network, not behemoths, since the economics of sharing code favour that. And to me, that's just an extra plus, not an issue. But I'm sure Peter Levine partner at a16z doesn't like it - VCs are generally unable to extract profit from these companies.
- zzzeek 7y agoI think the distinction between "download and run" software vs. "libraries used to build new programs" should always be stated in this GPL vs. not discussion. For "download and run" software, having it be GPL IMO doesn't limit too much who will ultimately be using your software. But if you are writing a programming library that would be used to create new software, GPL and even the LGPL will scare away a lot of commercial users, as well as projects that themselves hope to attract commercial users. If you don't care about commerical users, then it doesn't matter. But I think most people that write programming libraries care a lot about this.
- megous 7y agoFor me it's rather simple. I like GNU/Linux, the whole free/sharing ecosystem helped me learn so much, it allowed me great productivity, to modify anything and everything, etc. I like others to have the same opportunity, so GPL it is, even for libraries.
- zzzeek 7y agoWell it doesn't always work that way. I have a bunch of MIT licensed libraries that are very widely used and I'm 100% certain there are no commercial forks of it of any particular value. Because then they'd not have my support when their stuff breaks. Im sure there's lots of other libraries like mine, the MIT license is not limiting anyone's access to the best versions of my code.
- megous 7y agoYour argument doesn't say anything about GPL not always working that way. It just says that MIT license may work that way too, if noone else will make any useful closed modifications. Which is actually an uninteresting case.
- otikik 7y agoI use MIT (compared to GPL) because it's a low-maintenance library. When I have published stuff in GPL, I would have had someone from (say) the Netherlands opening an issue asking "hey, can I use this library for doing so-and-so?". And I had to go and check so-and-so and check the again library and re-read the license and after I was not sure because I am not a lawyer and GPL text is fairly dense. Even if I was a lawyer, I would not be familiar with the legal requirements for someone from Netherlands. One of the reasons I spend my free time doing open source is that I have fun. Reading legal text is the opposite of fun to me. So I moved to MIT. I did not have more of those legal questions.
- zAy0LfpBZLC8mAC 7y agoThere is a really easy answer to that question: If you are unsure, hire a lawyer in your jurisdiction. The fact that you wrote some Free Software does not obligate you to help people with integrating it into their software for free, and that includes any kind of legal work required.
- atq2119 7y agoYou are under no obligation to answer those legal questions. In fact, you probably shouldn't. Just tell them politely that the GPL is available for them to read and well documented, and to ask their lawyer if it's really important to them.
- Iv 7y agoThe question that remains is basically "what is your stance on the Great IP war?" I agree that the world would be better if all software was public domain and that the GPL is an inferior option. In a world where proprietary software is the norm though, GPL is a way to fight back this trend. I think GPL makes a lot of sense on software that make computers easier to use or that have privacy implications: browsers for instance. Some other times, you just want to help the whole world, including the software industry, stop reinventing the wheel. Typically with a lib that solves a specific problem once and for all. There public domain or MIT/BSD make sense.
- hdfbdtbcdg 7y agoOr LGPL... BTW even Richard Stallman agrees with you with respect to e.g. ogg vorbis libraries...
- ddebernardy 7y agoI went the other way around. I used to mostly release GPL code, and then one day switched to MIT and never turned back. I've profited from code written by others; others should be able to do the same under whichever license they prefer. There's a simpler way to address the problem outlined by OP: just refuse to consider binding software dependencies whose source you can't read. (It doesn't necessarily mean FOSS, as in I'm OK with paying to get the software; but I do want to be able to read the source code.) To me using such a dependency whose source code I can't read is just a non-starter.
- letsgoyeti 7y agoNot a troll question, so please bear with me... From the perspective of the author of a piece of software wanting downstream changes contributed back, I think GPL makes total sense. From the deontological perspective of a consumer that considers closed source code immoral (aka Stallman's view if I understand it correctly), it doesn't make much sense to me. Consider the example where you go to a bakery and ask for a cake. Most people, I think, would agree that it would be unreasonable for a buyer of the cake to consider it immoral that the baker doesn't release the recipe to the cake. What makes software special?
- slim 7y agoEven once I started using Linux as my daily driver, however, it took a while still for the importance of free software to set in same here. Even though, I'm a Linux user since 1995, I just understood the true meaning of free software last year (maybe because I'm not a native English speaker). I realized that it means the software is free, not me. It's kind of respect to the software as something important in our lives.
- Proven 7y ago> As the number of hours I’ve spent on FOSS projects grew from tens of hours, to hundreds, to thousands and tens of thousands, I’ve learned that the effort I sink into my work far outstrips the effort required to reuse my work. At one point you succeeded, your contributions became valuable. But then you lost your way. > do unto others as you would have them do unto you. The GPL is the legal embodiment of this Golden Rule: in exchange for benefiting from my hard work, you just have to extend me the same courtesy. The MIT license is the moral embodiment of this Golden Rule. When I work on or with free software, I don't want to be forced to do anything, and I also don't want to others to be forced to do anything for me if they use my contributions. When I make my (modest) contributions to MIT or BSD licensed software projects, those contributions are free. I don't know how you can claim GPL is free and then use "you have to" to describe the operator's obligations for using your "free" software. The capitalist usually asks for money in exchange for their software, while you ask for labor. It's not immoral, but it's not free. You're unhappy about the leeches but that's why we contribute for free - we don't mind that some people fail to donate, don't contribute, make their own modifications without giving back, and so on. If you want to get "even" with the users of your software, make it simple and sell licenses. The MIT License: charity (giving) The GPL License: business (exchange)
- bunderbunder 7y ago> Your parents probably taught you about the Golden Rule when you were young: do unto others as you would have them do unto you. The GPL is the legal embodiment of this Golden Rule Funny. For me, the Golden Rule still leads me to the opposite conclusion: I want people to share their work with me open-handedly, without telling me what I can do with it or what other software I am allowed to combine it with. The more strings are attached, the less it feels like it's really sharing. The most annoying example of this is when companies open-source their works under a copyleft license in an obvious attempt to get free labor from the community while reserving the ability to actually profit from that work for themselves. And therefore, when I share the software I work on, I prefer to share it open-handedly.
- kyle-rb 7y ago>The most annoying example of this is when companies open-source their works under a copyleft license in an obvious attempt to get free labor from the community while reserving the ability to actually profit from that work for themselves. Similar to this, Qt has a LGPL license option, but when using it for a proprietary product, they really push you to buy their commercial license, and have basically no info on how to actually do LGPL compliance in the specific case of Qt's libs. I get that it's not their responsibility to make it easy for me to use an open source lib in a closed source product, but it just feels like they're using LGPL compliance as a threat if you don't pay their license.
- detaro 7y agoTheir messaging on that can be a bit (probably intentionally) unclear sometimes (and from what I hear they have pushy salespeople), but many companies use it successfully under LGPL terms, and for typical desktop apps the compliance effort isn't that large. (embedded devices etc are a different problem, I suspect that's where they make most of their licensing money) They also are providing a lot of value to the open-source communities building on Qt, so I don't think they are a great example for what GP mentioned.
- cjbprime 7y ago> [more free vs. less free] The intuition that helped me understand this was noticing that the GPL is trying to maximize societal freedom, and in contrast the BSD is trying to maximize individual freedom. So, is the GPL less free than BSD? Answer: For whom? Single individuals or everyone together? An analogy: a society would have more individual liberty if dogs were allowed to poop on the sidewalk, because fining dog owners who don't clean up after their dog is reducing the individual liberty of those dog owners. But the society with this individual liberty curtailed is a better society. The same distinction holds across politics in general -- we might approximately map GPL vs. BSD onto, say, socialist vs. libertarian.
- c22 7y agoWhat about a society where individuals are free to let their dogs poop all over but most choose not to since it's unattractive and they've been raised in a society where personal responsibility is of paramount value? This is the society I want to live in, and I think if you look at it pragmatically this is a society in which a lot of us already live (I have heard of very few cases where someone has actually been fined for not picking up their dog poop and I also see relatively little dog poop lying around).
- cjbprime 7y agoI guess I just don't believe cooperation problems scale. e.g. https://slatestarcodex.com/2017/02/22/repost-the-non-libertarian-faq/#coordination_problems https://slatestarcodex.com/2017/02/22/repost-the-non-liberta...
- c22 7y agoIt's the same cooperation problem regardless. GPL only works because enough people agree to respect the system that allows it to function. If no one payed lawyers to argue over licensing issues and no one supported courts in which to hear the arguments then the GPL would just be words on paper. Since we fundamentally live in a world where cooperation happens all the time I know that a utopian interpretation of this world is also possible. In fact, it's been my observation that people's willingness to cooperate increases as a function of societal excess, so if we are going to keep putting all our eggs in this maximize-production maximize-efficiency capitalist mindset that has taken hold in the last century it seems almost inevitable that natural cooperation will increase and we can rely less on codified regulations with the threat of force.
- ubasu 7y agoHere's my rant of the day: The meme that the GPL is "less free" sounds very Orwellian. What it really means is that I cannot freely use someone else's creation without restriction, and that I have to respect the wishes of the original author about how their work should be used. That is because GPL was intended to be a hack on the copyright system (hence "copyleft"), but it always respected the idea of copyright - it does not call for the abolition of copyright. This talk of GPL being "not free" smells of propaganda so that people (big corporations?) can reuse and repackage others' valuable work for free without any kind of compensation or acknowledgement. (TFA says the same thing) Feel free not to use GPL'ed code if you find it too restrictive, but please don't contribute to spreading propaganda against it (and get off my lawn while you're at it) [For the record, I work on proprietary software myself and haven't written any FOSS code, but I use GPL software daily - Linux, gcc, emacs etc]
- tokai 7y agoMade me remember the free software song. When we have enough free software At our call, hackers, at our call, We'll kick out those dirty licenses Ever more, hackers, ever more.
- jeena 7y agoHehe that is what I tell my friends who ask me to help them to install some windows software to filter something for their children, etc. will happen: "Fun fact: the first time I used Linux was as a teenager, in order to get around the internet filtering software my parents had installed on our Windows PC at home. ↩"
- AdmiralAsshat 7y agoEvery time this debate comes up, I think of MINIX: https://www.zdnet.com/article/minixs-creator-would-have-liked-knowing-intel-was-using-it/ https://www.zdnet.com/article/minixs-creator-would-have-like...
- _ph_ 7y agoIt doesn't require the GPL to know who is using your software - choose BSD with advertising clause.
- SAI_Peregrinus 7y agoIf you feel your work is valuable enough to be worth receiving compensation for, use GPL and/or a proprietary license. If not, use a permissive license.
- kazinator 7y agoI've gone the other way; the last time I put a GPL on anything was more than a decade ago. (I mean on something completely new, not a modification to someone else's GPL-ed program). I won't ever be GPL-ing anything going forward; two-clause BSD all the way.
- rmtech 7y agoI have a question for the author. How does he pay his rent? Where does the money come from? Is he a software professional?
- joveian 7y agoI generally agree with the idea of the GPL but the thing I would encourage everyone to consider is: are you really going to enforce it when someone doesn't comply? If not, consider just adding a sentence (or more) to the top of the MIT license or public domain release that you would really like people to share their modifications but are not going to force them to do so. Otherwise, the main effects of using the GPL are: 1) Projects that are actually open source but want to be available for closed source use will not use your code (maybe some people want this) 2) Lots of people who would contribute changes anyway will spend time figuring out what the GPL means in detail (it is not short) 3) Quite a few comanies will still use your code without releasing changes since they know that few projects try to enforce the GPL (or any other open source license) 4) It could potentially be helpful in a BSD lawsuit type situation, where companies that sue over copyright (or patents) will themselves violate the license of code that they use I'm just saying keep in mind that a license does not automatically make people follow it and if you aren't willing to attempt to enfoce it legally then at least consider using a very short license.
- pabs3 7y agoand if you are willing to attempt to enforce it legally, consider doing it in a reasonable way like the FSF and SFC do: https://fsf.org/licensing/enforcement-principles https://fsf.org/licensing/enforcement-principles https://sfconservancy.org/copyleft-compliance/principles.html https://sfconservancy.org/copyleft-compliance/principles.htm...
- gridlockd 7y agoI always thought of the GPL being more about the distinguished self-importance of programmers than software freedom. Imagine if mathematicians started putting licenses on their contributions to math. They'd be laughed out of math-town. Look, if you want to contribute to the commons of programming, use a permissive license. If you want to cut out certain people who can't or don't want to use copyleft, use the GPL. If you can't stand the fact that someone might profit off of your work while you get nothing, don't publish anything. Another good but seldomly given piece of advice: don't publish all your half-assed crap on Github. This is software pollution. Nobody wants to read the source code to such garbage as "stfupy3.org", but it will show up on search results regardless. No employer or potential client wants to sift through a list of trash to find the one good thing that you did that one time, that actually shows you know how to finish a program. Less is more!
- Wowfunhappy 7y ago> Nobody wants to read the source code to such garbage as "stfupy3.org" How do you know? It could be exactly what I need for some esoteric reason! Within the past year, I've found several useful projects on Github that their authors who appeared to consider them worthless. --- Edit: As an example, I really wanted a simplistic dictionary app for my iPhone, which used the definitions built into iOS so it could work offline without taking up lots of storage space. Apps like this are explicitly against App Store guidelines. After a chance search on Github, I came across this. Licensed under the WTFPL. https://github.com/forresty-archive/Dictionary https://github.com/forresty-archive/Dictionary I'm not really a developer of any kind—I know basic Javascript—but I was able to figure out enough to get the app working on modern iOS, with modern fonts and such. The result was https://github.com/Wowfunhappy/Dictionary https://github.com/Wowfunhappy/Dictionary Here's what really surprised me—I posted this to the /r/Jailbreak subreddit and I still get PM's once every other week thanking me for the app (which, I think I made quite clear, I didn't write). Apparently english language learners in particular find it very helpful. Suffice to say, I'm really happy that "forresty", whoever they are, posted their rejected iOS app to Github.
- gridlockd 7y ago
- tracker1 7y agoI think it varies and the world needs and can utilize a mix of licenses. ISC/MIT are good in some scenarios, often client libraries and frameworks work well here. LGPL is great for libraries that have a lot of busy work that can be part of a larger system, but don't need the license to take over the larger system. GPL works when you don't want commercial derivative works. AGPL applies where you don't want online services to subsume your work. In the end, it will depend on the goals one wishes to accomplish. I tend to avoid certain licenses and scenarios. Most of the time I will favor MIT or ISC, but have been considering how to apply some things I've been working on.
- nfoz 7y agoI use the GPL and I long for the day that it is no longer needed -- when we finally abolish copyright. I GPL to help virally encourage an ecosystem of software that will not abuse my freedom via the tyranny of copyright, in the meantime.
- filmgirlcw 7y agoThis is an interesting read, but it's almost ironic because over the last decade, the argument between MIT and GPL has become less important, IMHO because of the rise of SaaS. And by that, I mean, that we've seen a recent push back towards both Apache and GPL licenses from companies that take umbrage with other companies using their source code to sell hosted SaaS versions of their work, without contributing back. Of course, the problem is that the GPL doesn't solve that problem any better than BSD or MIT or Apache and it is debatable if the AGPL does either. The fact is, modern OSS/FOSS licenses really weren't designed for the age of server-side software where there isn't a distributed client or locally compiled code. And while I'm incredibly sympathetic to companies who see Amazon and others (and disclosure, I work for Microsoft but my opinions are my own and I don't represent my employer) using their work to sell hosted versions of their products that directly compete/undercut/undermine their core businesses, that's also just a natural side-effect of using an OSS license in the first place. If you, as a business, are unable or unwilling to account for that possibility, perhaps you shouldn't have used that license to begin with. It seems unfair and wrong to attempt to relicense or reframe the rules after you have already benefited from the source used by others, which is why I look at things like Common Clause with disdain. Own that you are proprietary or GTFO, don't try to do this bullshit middle-ground approach, which doesn't do anything. So in a SaaS situation, MIT vs GPL is irrelevant, and yet many of the renewal of licensing discussions are around those ideas. My personal philosophy around open source has also shifted over the last decade or so, but it has largely cemented why I personally prefer BSD/MIT licenses. Having said that, although I prefer BSD/MIT licenses, I'm also of the opinion that in many cases, it is beneficial to everyone to contribute changes back to the main projects. Period. I used to be much more in favor of proprietary software -- or, at least the right for a developer to choose to make some or all of their software proprietary. I still believe that -- because even though I would argue that open source is often a better development model, I'm not in favor of the FSF POV that deems all software must be free. True freedom means the ability to do things that are not in the interest of the public or maybe, even ultimately, the developer herself. My position has changed insofar as I now think that the business case (and not just the moral/ethical case) for FOSS or OSS is stronger -- but I still feel strongly that aspects of the GPL make it overly cumbersome when releasing software. My feeling has always been, if I choose to make my code available, I'm making that choice -- I would like you to choose to contribute any changes back. It would probably be better for everyone if you did that -- but I don't want or need reciprocal access to any code you use alongside what I wrote, and I don't feel you're obligated to share any specific changes back with me. If I wanted to enforce that someone has to pay me for my work in order to potentially profit from it, I would need to make my work proprietary and sell it that way.
- codr7 7y agoI used to release all my code as GPL. But the more time I spent witnessing the madness that is license wars, the less I felt like contributing to the mess. I spend a lot of time and effort on my code, and I don't mind sharing it for free. I would prefer if other people tuned into that mindset rather than greedily raping the world for profit. But adding more rules never seem to help, it always causes more division. My current perspective is that its simply not my responsibility to push others into doing what I believe is the right thing. Which is why g-fu [0] is released as MIT. [0] https://github.com/codr7/g-fu/tree/master/v1 https://github.com/codr7/g-fu/tree/master/v1
- chilicuil 7y agoFor me this all copyright / license topic is non sense, that's why I don't even bother adding a license to my projects, some years ago I used to add MIT licenses when requested, however these days I just ignore those requests, they can use it or not, but I'm not doing any effort to fulfill these copyright / license claims.
- kissgyorgy 7y agoI have a project (X.509 certificate lifecycle manager for bootstrapping CAs, issuing certs, like Lemur or Vault PKI backend) I would like to provide this free for any solo system administrators, small companies for internal use, software developers, freelancers, but I don't want to give the possibilities for big companies to repackage and resell it as their own and I also want to force them contributing back. What license should I choose and why? I thought GPL or AGPL, but I really don't want to scare away individuals and small teams (who this software would help the most).
- shuzchen 7y agoThere is no one-size fits all, you should use the license that best suits the product you have, as well as the ecosystem in which you're releasing it. See the EFF's documentation on this: https://www.gnu.org/licenses/license-recommendations.html https://www.gnu.org/licenses/license-recommendations.html https://www.gnu.org/licenses/why-not-lgpl.html https://www.gnu.org/licenses/why-not-lgpl.html
- jasonhansel 7y agoAll of us should be thankful that the tools we rely on (like gcc and Linux) were available under the GPL, since otherwise proprietary extensions to these programs would have made the OSS versions obsolete.
- qalmakka 7y agoMy favourite license is still MPLv2. In my opinion it hits just the right spot between giving back source and not limiting potential uses significantly. So many languages link statically nowadays, making LGPL fundamentally pointless.
- oliwarner 7y agoGPL is about user freedom. The user must always be allowed to inspect what code they're actually running. That is restrictive on developers, but that's just the cost of doing business here. If you don't share those ideals, that you should be able to inspect and alter the source of the code you run, you will likely never "understand" GPL.
- bmaupin 7y agoCommon wisdom says to use the best tool for the job. Why wouldn't the same thing apply to licenses? The MIT vs GPL argument seems silly to me. Use whichever one best applies to your situation. Writing a library and want maximum adoption? Use MIT. Worried about patents? Use Apache. Want to ensure the code stays open-source? Use GPL for an application or MPL for a library. Obviously these are grossly oversimplified examples to make my point. But I wouldn't write a web application in C or a device driver in JavaScript. So why use the same license for all of your code?
- adultSwim 7y agoGPL vs MIT/BSD Code is free vs orgs that make use of code in their products are free