14 ms·
I think there's two split types of developers. When I was younger, mostly hanging around on IRC servers and forums, coding just my own cool projects, I strongl
by libeclipse 9y ago
I think there's two split types of developers.
When I was younger, mostly hanging around on IRC servers and forums, coding just my own cool projects, I strongly believed in the GPL. All of my projects had it, and I wouldn't even dream of allowing someone to use my code without making their entire project open too.
That's the first type I think. The second type is the more HN-style professional programmer.
Now as I've grown up a little and interacted a lot more with the programming community, I've realised that the GPL licence just causes more pain and frustration to developers. If I want my source code under Apache-2.0, why should I have to change it to GPL just for you.
I want anyone to be able to do whatever they want to with my code. That includes developers wanting to create a proprietary application. Telling them they can't is not freedom.
I feel we've lost ourselves in the freedom of users and forgotten about the people that make the applications for the users.
---
Edit: As a small P.S. to this, I think the middle ground is using the GPL for actual end-user applications, but leaving libraries and developer tools completely open with something like Apache-2.0 or MIT.
- charlesdm 9y agoVery much this. If you make an open source library, and you don't intend to ever charge for it, then at least allow people to use it in their products, free or commercial, without having to open source the entire thing.
- icebraining 9y agoat least At least? So the person already selflessly donated an open source library to the world, even if only usable if you comply with certain terms, and that's not enough? I frankly don't get this perspective at all.
- Symbiote 9y agoWhy? Why not only let other people use it in their products, if they make their code available on the same basis as I released mine?
- charlesdm 9y agoWell, guess we can have different opinions on this, but I would want the open source code I write to actually be used in cool (commercial and non-commercial) stuff. If you're pushing GPL, that is just not going to happen (often). Code in itself isn't useful. You're not improving the world by writing code. You're improving the world with the impact that code can have and the value it can deliver.
- pmontra 9y agoMaybe people using GPL only want their code to be used in other GPL projects and they want to improve the world in that way. For example I want people to reciprocate: if I give you some code, give back some code too. But don't forget the LGPL, which lets GPL code to be used even inside proprietary one.
- adrianN 9y agoFor some people, user freedom is a large chunk of the value.
- Thrillington 9y agoExtracting value through code is not an inherently positive moral exercise. It may improve the world. From my perspective code that is built to extract value eventually attempts vendor lockin to create a long term revenue stream.
- erikbye 9y agoIf there is one thing I am certain of, when it comes to software and licenses, as for new software (not using licensed code), let the copyright holder release on his terms. That means he's the party that gets to choose the license. He should have no other obligations. That is one freedom I support.
- the_mitsuhiko 9y agoA lof of us made this transformation. I vividly defended the GPL when I started doing open source work. I remember being told by others to use the GPL and became and advocate for it. Slowly but surely I noticed that the licenses became the main point of contagion and I did not actually care about the letter of the license anyways. I wanted people to use it and not have to worry about it. I know I'm not alone.
- djsumdog 9y agoI totally understand where you're coming from and I shared some of this. I still believe heavily in the GPL and I think more permissive license have allowed a lot of companies to wave the banner of OSS while not having to really contribute things back to the community. I come from a perspective of hating the corporate world for the two decades I've been in it; feeling deeply overpaid compared to the guy who cleans my trash bins every day who I feel should be paid more. The old 1990s/2000s vision was of a more just and equitable society. Today we have garbage like Android where vendors just release binary blobs and don't contribute anything useful back (non-upstreamble patched and proprietary/custom/terrible kernels). The people who originally wrote a lot of OSS and Linux software were envisioning a world where Adobe tools would be replaced by Gimp/Inkspace and the Ubuntu desktop would make Windows obsolete except for specific MS software/tasks. That never happened. Today software is more closed than ever. You can't run a modern x86_64 system with open firmware, and most companies simply release middle ware under an MIT/Apache license. They want you to build tools that work with their closed garden platforms, but not re-create their platforms.
- josephg 9y ago> The people who originally wrote a lot of OSS and Linux software were envisioning a world where Adobe tools would be replaced by Gimp/Inkspace and the Ubuntu desktop would make Windows obsolete except for specific MS software/tasks. That never happened. The reason that never happened has nothing to do with the licenses. It happened because most purely open source programs have abysmal UX. Every time I open Inkscape on my retina macbook I feel like I'm grinding the machine against concrete - it's slow, looks awful, doesn't scale and doesn't use the system's native UI libraries. Somehow all of RMS's charm never seems quite enough to convince designers to fix the glaring, obvious problems.
- djsumdog 9y agoSo I share your sentiment. I still open Photoshop/Lightroom on my Windows laptop when I need them (although lately I've been trying to use DarkTable and RawTherapee for some projects) but yes, Gimp is far from being a high end tool. Illustrator still kills Inkscape (I worked with a hardcore OSS guy who said it's just a matter of training, what you're use to and what you start with. I could tell he'd never done any real graphical editing work ever). But who is working on it? Obviously not you. Obviously not me. It's a lot of work. I've looked at code here and there and often said "..huh..that's not has bad as I..oh no wait..yea..yea it is..I wish I had the time to work on this." If some of the Stallman-ish/revolutionary ideas had happened in the last decade, maybe all of us could spend 20 hours a week trying to fix/improve/rewrite the software we like/need. Today software devs are slaves to the industry. Even if we get paid well, many of us are still working for things that will bubble and die. The only things companies open source is middleware that can make them important. Money is addictive and it's taken people away from that ideology that simply doesn't pay the rent. There's something deeply wrong with all of this, but we're in another state of hypernormalisation, so it's very difficult to see or address in a meaningful way.
- notalaser 9y agoMy path has been pretty much opposite: a long time ago, I was a big fan of BSD-flavored freedom and thought that commercial adoption of open technology was the best thing that could happen. After years of eating my own dogfood and seeing open code used solely as free work, with no regard to user or developer freedom, I'm not so convinced. Frankly, I was cynically happy when a lot of GNU projects were licensed under GPLv3, and suddenly everyone who locks down their firmware (which is usually a big hunk of GPL code + a piece of shit web UI) was sent scrambling for alternatives and, gasp, even having to -- hear this! -- pay for the software that they proceed to resell. Outrageous. It also fueled the development of really good alternatives. It did make my life more difficult, but I'm satisfied that it also made life more difficult for companies that lock down their users and whose business model is largely planned obsolescence + no privacy. (Note that this is heavily skewed towards embedded systems :-) ) One thing I still considerably like about BSD-type licenses is that they do not incentivize "community leadership and involvement" and half-baked upstream contributions for the sake of companies being seen as "thought-leaders" in their respective "communities". It does mean less upstream support for a lot of things (most visibly drivers), but it also means that crap in-house hacks stay in-house rather than being "contributed back" to communities whose users don't really want them, but don't really have a choice now that the community leaders are largely corporations engaging in free software circlejerking. This involvement for marketing's sake is a big part of why using a Linux system is so painful nowadays, six or seven years after it no longer needed to be so painful.
- AstralStorm 9y agoAnd then said aforementioned "hacks" do not get updated and you're in a world of hurt. Either legacy compatibility hurt or frozen API and potentially runtime hurt. Additionally vastly delayed updates including security. Especially painful hacks are graphics and WiFi drivers. The trouble of course is that people do not go to complain to, say, Nvidia that their GPU does not work, but to the distribution maintainers or kernel developers who have no control over the driver.
- notalaser 9y agoThere's also the best kind of hurt: outdated, insecure firmware that gets delivered to users who aren't aware of it, can't inspect it anyway, and even if they could, they can't do anything about it because the firmware is signed and you can't load your own. This particular type of hurt is why I like GPLv3.
- lottin 9y agoThe article makes a good point about reciprocal vs non-reciprocal licenses as opposed to permissive vs less-permissive. Freedom can be a contradictory concept, because the freedom to restrict other people's freedom is also a freedom, and thus may not be always desirable.
- buserror 9y agoI tend to agree, up to a point, however I still use the GPL because it at least gives me a leg to stand on for people actually ripping your code and selling it as is... (What I call the packagers) I'm sure that if Linux wasn't GPL, you'd have 'vendors' selling 'HP Linux' and 'Corp Linux' to their locked in customers in no time at all. The only reason Linux grew up to this point is that the vendors are forced to contribute back and cooperate (up to a point). Mind you it might also be the reason Linux is so bloated these days, but at least there is no vendor lock in... As a small example, someone decided a few years back to release a "Arduino UI" over my own simavr[0] as an indigogo project. ie trying to be paid to package a demo I made (for free): he had screenshots, a few promises and no source code. I managed to email the guy telling him I wanted to see the source code of the whole lot and somehow, the project fizzed out. If my project had been BSD, I might have seen someone making money from my project and associate my name with something that I had zero control on. When I give a project away, I want it to stay free for use, and I really hate to see 'packagers' who don't contribute anything at all move over and try to monetize it. Same story as when I released freewares a few years back, I had a note saying it was NOT ok to package it on 'CDs' sold around. [0]: https://github.com/buserror/simavr https://github.com/buserror/simavr
- dan00 9y ago> I'm sure that if Linux wasn't GPL, you'd have 'vendors' selling 'HP Linux' and 'Corp Linux' to their locked in customers in no time at all. The only reason Linux grew up to this point is that the vendors are forced to contribute back and cooperate (up to a point). I don't know. For such a complex project like linux you can't do all by yourself and you most likely want all the improvements and extensions done by other people. To be able to incorporate all these changes you have to keep your code base compatible and the easiest way to do this is to give back your changes. But even if this seems to be the most sensible way to go, an other license might have allowed people to be a lot more unreasonable.
- pjmlp 9y agoThe *BSDs show clearly what would have happened, most hardware vendors that ship some BSD variant on their hardware don't contribute anything back.
- TLLtchvL8KZ 9y ago>I feel we've lost ourselves in the freedom of users and forgotten about the people that make the applications for the users. To me the issue with the GPL is that it is incredibly dated; it was designed for the time back when the users were more often than not a developer. Things change in 30 years and the GPL has completely failed to adapt IMO. I see far more MIT and Apache than all version of the GPL these days, especially since I gave up on GNU/Linux distributions (and helping out working on them) on the desktop a few years ago.
- icebraining 9y agoI disagree, a non-developer user still benefits from the Four Freedoms, even if indirectly. Development is a service you can purchase, you don't need to do it yourself. And even if you can't afford that, as long as a few of the users are developers, chances are they'll release something others can use for their benefit.
- spacelizard 9y ago>The GPL licence just causes more pain and frustration to developers. I don't think this is true. It's not particularly hard for developers to comply with it, especially those who are used to operating in an environment where most software is proprietary. This is the world where corporate licenses and contracts end up regularly end up into triple-digit page lengths. It's where the answer from management to the question "can we use this third party software?" usually defaults to no regardless of the license. So as long as there is this kind of restrictive proprietary licensing, I believe there will be a need for copyleft to counterbalance it. Sometimes there is a real risk of a rogue organization trying to take free (libre) code in order to crush the community with it. The fact that there is so much software out there that uses non-copyleft free software licenses I think is testament to how many, many of our techniques and algorithms have become trivial and commonplace. This is good that friction is being removed in these cases, no matter what license the downstream developers are planning on using. It's the sign of a mature industry.
- Anon_2017124 9y agoAs you correctly say, if you want anyone to be able to do whatever, you're right with choosing a permissive (non-reciprocal) license. GPL cares about the users of the software, not only the developers, and makes sure that, if they receive some software, they also get the source.
- kstenerud 9y agoNon-developers don't care about the source.
- icebraining 9y agoA good chunk of my paycheck proves you wrong - we develop custom addons for an Open Source software for non-developers (individuals and companies).
- kstenerud 9y agoIn what way does a paycheck prove me wrong? I could just as easily argue that a good chunk of my paycheck proves that always bracing conditionals is something companies care about.
- icebraining 9y agoIf bracing conditionals was indispensable for providing your services, I'd argue that they would.
- pluma 9y agoIn what way is that different for the end user compared to a closed source product with a public extension API?
- icebraining 9y agoWe often do some profound changes to the system. This is Python, so you don't actually need to change the source, but being able to read it is indispensable. Plus, the license allows them to safely purchase our services and re-use the resulting system everywhere.
- deleted 9y ago[deleted]
- josteink 9y ago> I want anyone to be able to do whatever they want to with my code. That includes developers wanting to create a proprietary application. Telling them they can't is not freedom. This is clearly up for debate. Software-freedom as an interesting social factor is first and foremost about users, not software-publishers. Basically as a user of free software, I should be free to modify the code of the program I'm using. While I as a professional programmer prefer using permissively licensed libraries (MIT/BSD), because they are easier to integrate, that means I take free software and make it into non-free, commercial software in the process. That means the users of my work-output will enjoy less freedom than I had (as a publisher, a non-user). That's undebatable. So freedom is lost. When not constrained by work-requirements w.r.t. licensing, and I write on my own spare-time hobby-projects, I'd like that code to be free and remain free. I'd like that any user of that code I just wrote (note end-user, not someone bundling my code inside a different project) should have the freedom to modify and fix that code. And the only way to guarantee that is with a copyleft license like the GPL, because it preserves end-user freedoms which BSD/MIT-style licenses (intentionally) doesn't. So that's the only license I use. Yes. That means developers just like me won't use it in commercial projects, but I don't care about that. I care about end-user freedom. EDIT: Terminology, as outlined in child-post.
- pluma 9y ago> is first and foremost about users No, it's about the software. Free software is free in the sense that it can't be owned, like a common good. Saying you shouldn't be able to own (i.e. control access to) software is very similar to the argument that you shouldn't be able to own land. This is a political ideal. The rationalization of that ideal is often made to be about the users but the benefits are indirect and whether they hold up in practice has not yet been reliably demonstrated as far as I'm concerned. Arguing whether permissive or restrictive open source licenses are freer is mostly and argument about the definition of what "freedom" actually means. GPL advocates say open source is about the freedom of the user to get access to the source code of what they are using. Advocates of permissive licenses will say open source is about the freedom of the downstream developer to bundle and distribute the software in any way they please (including in the creation of closed source products). Saying that one or the other of these "freedoms" is not really a freedom is literally just an argument about semantics and not meaningful unless you're specifically interested in having only that conversation. EDIT: Pragmatically IMO the freedom of the end user matters less because they need more than just access to the source code to derive any value of having that access, whereas for a downstream developer the value of being able to do as they please is extremely direct. Especially when talking about libraries which by themselves exist merely to help developers create software and frequently only use the GPL to force the hand of downstream developers when picking a license.
- wiz21c 9y ago> I want anyone to be able to do whatever they want to with my code. That includes developers wanting to create a proprietary application. Telling them they can't is not freedom. You reverse cause and effect. The GPL is what you choose (or in this case choose not) to have the effect you mention. You're not forced to use the GPL nor the projects which uses it. > I've realised that the GPL licence just causes more pain and frustration to developers. It doesn't. If it causes pain and frustration it's because GPL forces people into thinking/believing into a political agenda. Disagreeing on political things is always painful. So the problem is not the GPL. The difficulty is that some choose the GPL because of the political thing and therefore, they force (the GPL helps a lot at taht) other developers to interrogate themselves about those political questions. And they may get frustrated or dad or whatever, but ultimately, they realize that they don't align with the ideas embodied in the GPL, or in another way, they realize the cost of sticking to the GPL. The GPL is not the problem. It suits people whose mind are aligned with the FSF's goals, and for them it's perfectly fine. Just realize that it's not for you. Now, having practiced the GPL, I can assure you that it definitely embodies the political ideals of the FSF and that sooner or later, you'll come to confront with people who don't get it, and "confront" is not a weak word. Know what you stand for.
- pluma 9y agoYou're not forced to use anything. The problem is that many projects choose licenses without carefully assessing all the trade-offs. If someone already built the thing you need but chose to release it under the GPL it might as well not exist if you can't use GPL code in your project. This is especially true if the value added by the library is minute in comparison to the overall scope of the project (this is by design). Just ask any developer who inherited a non-GPL project from a junior developer who doesn't understand licenses and accidentally used GNU readline. If a library naively omits the license altogether (based on a widespread misunderstanding that "no license" means "public domain"), they will usually be able to switch to an open source license easily. If a library naively uses a permissive license, you can simply incorporate them in your project (whether that project is GPL or not). If a library naively uses the GPL, not only are they likely locked into it until the end of time but the code might as well not have been written at all unless your project is already GPL or you are willing and able to switch your license to GPL.
- ksec 9y ago“If a man is not a socialist when he is 20, he has no heart. If he is not a conservative by the time he is 40, he has no brain.” - Winston Churchill I think this sums it up.
- dagw 9y agoSomewhat OT. Winston Churchill may very well have said that, but variations of that quote where circulating in France in the late 19th century.
- erikbye 9y agoMost quotes are regurgitations, they just don't get traction until attributed to someone famous.
- CalChris 9y agoAnd if man is not a socialist when he's 60, he has no health insurance.
- matt4077 9y ago> I feel we've lost ourselves in the freedom of users and forgotten about the people that make the applications for the users. In the world the GPL envisioned, most people would also be developers, at least occasionally. That's obviously not true today, but as algorithms take over society, we may still see progress in that direction. There are some communities, such as many academic disciplines, where it has become a reality–economics may be a good example where a large majority of graduates today have done some coding, and where a field profits tremendously from OSS licensing. Fundamentally, it's an argument analogous to the political fight about the meaning of a "free market": Are antitrust regulations a undue intrusion into the freedom of large companies, or are they necessary to preserve the freedom of consumers and competitors? The essential shift since the GPL was written is the web, obviously. In one sense, OSS has flourished, with it becoming the default stack of most industries, including the web. On the other hand, end-users rarely see OSS. These issues may be linked, because the client/server model allows companies to use OSS, even GPL, to provide proprietary services.
- adfm 9y agoThere's a difference between 'open by default' and 'open by purpose'. You might reflexively reach for MIT or Apache, but the GPL might align better with your actual business needs. Simon Wardley gave a decent presentation about strategy mapping a few years ago and mentions it at the end of his talk: https://youtu.be/NnFeIt-uaEc https://youtu.be/NnFeIt-uaEc
- adfm 9y agoThere's a difference between 'open by default' and 'open by purpose'. You might reflexively reach for MIT or Apache, but the GPL might align better with your actual business needs. Simon Wardley gave a decent presentation about strategy mapping a few years ago and mentions it at the end of his talk: https://youtu.be/NnFeIt-uaEc https://youtu.be/NnFeIt-uaEc
- wcummings 9y agoYou're overlooking a big reason for the using the GPL I think: GPL projects are more attractive to certain communities of contributors. People are more willing to invest (potentially a lot of) their time in an open source project if they don't feel they're being taken advantage of. A lot of people don't feel great writing code for free if it's going to be relicensed and incorporated into a commercial product.
- dbcurtis 9y agoI've said for a long time that people should choose a license they way the choose a screwdriver, not the way they choose a religion. Your comment touches on both parts of that. Want code to be open forever, and for you and your contributors to not be taken commercial advantage of? GPL could be a good choice. Do you desire total world domination (for a new protocol, for instance) then go with something like MIT that allows both open and commercial implementations to interoperate easily, without a lot of license drama. And yes, some people may "feel" as you say, that they only want to contribute to GPL projects. Sometimes for religious reasons, sometimes other reasons. For my part, there are some kinds projects that I would not contribute to under MIT/BSD style license, because I would want my work to be available to some community without being taken advantage of. Certain pet hobbies of mine fall in that category. OTOH, there are many BSD license projects where I am happy to send a patch or two because I benefit from the ecosystem in numerous ways, including commercial support for said BSD software.
- pythonaut_16 9y agoSomewhat off topic, but I've noticed people using the word 'religious' in arguments like this to mean more or less 'positions that one holds that are not based on logical reasoning but strong personal preference'. Wouldn't dogmatic be the more appropriate word choice?
- Latty 9y agoI'd argue that being dogmatic is a subset of being religious, and the superset of the term "religious" is applicable to the analogy at hand. Of course, if you have a more favourable view of religion than me, you might disagree.
- phkahler 9y ago>> I want anyone to be able to do whatever they want to with my code. That includes developers wanting to create a proprietary application. Telling them they can't is not freedom. You emphasized anyone but by allowing developers to take the code proprietary, their users (which are using your code) are being denied the freedom you promote. This is of course the distinction between GPL and BSD-type licenses. One gives developers all the freedom they want while the other ensures that all users (including those using derivative works) are given those freedoms. >> I feel we've lost ourselves in the freedom of users and forgotten about the people that make the applications for the users. No, we have not. One form of license ensures all users have the right to do whatever they want with the code. The other form (which some call permissive) grants the right to deny others those freedoms. I understand both stances, but I believe calling the right to deny others rights "permissive" is rather misleading.
- mook 9y agoDon't forget the weak-copyleft licenses like the MPL, where it's perfectly fine to use it in commercial projects, but all users are guaranteed access to the copyleft source code (but not the proprietary code on top).
- thesuitonym 9y agoThis is exactly what MIT and BSD licenses do.
- arglwarg 9y agoNope (also that would imply there is not functional difference between non-reciprocal licenses like MIT/BSD and a reciprocal one like MPLv2). The original article highlights LibreOffice and its success using the reciprocal MPLv2 not without reason. [Edit: mixed up the first paragraph.]
- snovv_crash 9y agoFalse. If I take a BSD/MIT library and fork it, I don't need to contribute the changes back. The MPL(v2) forces forks to be open source, but any files added to the project can remain closed source allowing it to be used as a library for closed source applications.
- ue_ 9y ago>Telling them they can't is not freedom. There are different concepts and types of freedom; collapsing them all into one singular concept is incredibly reductive and misleading. There is also the freedom of the users to take into account, which the GPL tries to guarantee. Why should only the freedom of the developer matter? >and forgotten about the people that make the applications for the users The freedom of the developers matters. But as any jurist or philosopher will tell you, freedom does not mean the freedom to do whatever you want. This was noted by Hegel as he described the freedom of the savage being a kind of unrefined freedom, restricted. Your argument is similar to saying that we should think of the freedom for the people who want to take away the rights of others. Arguably they should not have that "freedom" at all. Your argument is a very poor one.
- deleted 9y ago[deleted]
- arglwarg 9y ago> That's the first type I think. The second type is the more HN-style professional programmer. nah > As a small P.S. to this, I think the middle ground is using the GPL for actual end-user applications, but leaving libraries and developer tools completely open with something like Apache-2.0 or MIT. Thats closer. Non-reciprocal licenses are fine for projects that provide no value themselves. But for everything that provides direct value, reciprocal licenses like MPLv2 or GPL are better suited.
- smichel17 9y ago> I feel we've lost ourselves in the freedom of users and forgotten about the people that make the applications for the users. First off, thank you for acknowledging that permissive vs copyleft licenses is a trade-off between developer and user freedom. So many people claim that one is strictly less restrictive than the other, and that's simply not the case. So, which style of license you should choose is a question of who needs the freedom more. In my opinion, users have very little control in the current state of computing, so I am inclined to release as much of my work under the (a)GPL as possible. I think that's worth a little developer frustration. I'd also like to point out, that this is a moral issue more than a practical one. It applies equally to my stance on things like limiting the power of law enforcement.
- s73ver 9y ago"I want anyone to be able to do whatever they want to with my code. That includes developers wanting to create a proprietary application. Telling them they can't is not freedom." That sounds like the "if you can't sell yourself into slavery, then you're not free" line of reasoning. And it sounds weird that you want anyone to be able to do stuff with your code, but you support people taking that freedom away from others.
- snovv_crash 9y agoI have grown to really like the MPLv2. It gives the protections of GPL for the code you actually wrote (changes need to be released) while still allowing closed source software to use your code as a library (it doesn't require releasing files not included in your code). This means that a wider range of people/projects are likely to use your code, but any bugfixes or in-file features need to be open sourced. This results in a higher quality of code, more complete and rounded libraries, and not everybody's kitchen sink gets sent upstream for potential merging.
- mikegerwitz 9y ago> If I want my source code under Apache-2.0, why should I have to change it to GPL just for you. You don't have to. Don't use the GPL'd code. The author of the GPL'd work has chosen unwaivering freedom for the user over all else. You are free to write your own implementation. Why should that developer have to allow you to use her code in proprietary software? Speaking personally: I'm a free software activist. I write my code in the hope that it will be useful to others, but under the condition that it always remain free/libre. I would rather my software never be used at all than be incorporated into a proprietary program. In certain cases, depending on the community (e.g. Web), I recognize that my choice might certainly mean that nobody will use the software. If I choose the LGPL for something to permit its use in proprietary software, then it's a strategic choice.[0] I currently have no LGPL'd projects. [0]: https://www.gnu.org/licenses/why-not-lgpl.html https://www.gnu.org/licenses/why-not-lgpl.html
- cr0sh 9y ago> I want anyone to be able to do whatever they want to with my code. That includes developers wanting to create a proprietary application. Telling them they can't is not freedom. I look on the GPL somewhat differently. I look at it as a means of payment to the community (and to myself by extension for my own work). I want to be paid for my code and the things I create. But I also want to give back to the community. The GPL allows me both. You may ask, though, what kind of money can I get if I give the code away? I don't want money. I want code. Code for code. That's what I want as payment. I want the code so I can learn from it. So I can make my code better. So I can make the thing I made better, and so I can give that better thing out to others, so they can make their things better. I could make my code proprietary and "closed" - but that doesn't mean I'll get any payment for it. In fact, it might be copied and pirated. Proprietary code also doesn't allow me to share the code. Releasing it BSD-style allows me to share the code, but I still might not get any payment for it. Honestly, I don't want the money - I don't need the money. But code? I can always use more code. I can always learn from other's code. Code is very valuable to me. Another thing - I know that if I die, or if I stop giving away my code for some reason (by choice or not) - my code can live on, and continue paying back to others in code. I don't have to worry that someone out there won't be able to use the code or run the code because the hardware has changed so much (they might have to recompile, or perhaps rewrite some of it - but they have the code to do so), or if it has a bug, they can fix it with the code. I look at the GPL as a means of paying for code, and getting paid for code - by being paid in code.
- oliwarner 9y agoGPL's freedom is for the user. Freedoms to alter and redistribute... These are powerful things and very different from commercial considerations or "how much hassle it causes a developer". If you're coming at things from that point of view, GPL will rarely seem a good fit.
- ycmbntrthrwaway 9y ago> I want anyone to be able to do whatever they want to with my code. That includes developers wanting to create a proprietary application. Telling them they can't is not freedom. In a perfect environment without any means of coercion it would make sense. Nobody can be forced to release his source code if he wants to distribute binary. Anyone who wants to have source code is free not to use programs and their forks it if the source code is not provided. The problem is that we live in a world with copyright and patent laws which allow someone not only to fork your source code and distribute it in binary form, but also to attach various restrictions to it and make governments impose those restrictions on you by means of force, literally. For example, they can prohibit reverse engineering or add some feature which you can't reproduce due to patents, place trademarks all over the place and add copyrighted art in case of games. That is why less permissive licenses may make our world more free, as in reducing coercion. Apache-2.0 prevents patents abuse, but does not restrict new contributors. GPL not only grants patent license, but prevents others from abusing patents and copyright law. Thus, despite forcing attribution and releasing source code, it brings us closer to the perfect coercion-free world.
- ljw1001 9y agoI agree with the edit. If you build a partial solution (in other words, a library designed to be compiled with other code) and GPL it, you're making it difficult to use, but if you're providing a finished product (whether that's an App or an OS), a GPL license can make perfect sense.