8 ms·
Been saying this privately for a long time. Agree on "GPL is the best choice," as well. My personal experience with devs who don't want to GPL their code or con
by systems_glitch 4y ago
Been saying this privately for a long time. Agree on "GPL is the best choice," as well. My personal experience with devs who don't want to GPL their code or contribute to GPL projects is that they're under the impression that having a permissive license on their own project will get $corp to use it and, somehow, they'll profit from $corp using it. Haven't personally seen it yet, but I have seen a bunch of permissive licensed stuff get pulled into bigger projects and changes never contributed back.
- bawolff 4y agoGPL is still a questionable choice for anything that can be turned into a SAAS app. Remember if you dont distribute the binary, you dont have to distribute sources.
- Y_Y 4y agoThis is a good point and I'd like to suggest (without being certain) that the AGPL is a good solution. > The GNU Affero General Public License is designed specifically to ensure that ... the modified source code becomes available to the community. It requires the operator of a network server to provide the source code of the modified version running there to the users of that server. Therefore, public use of a modified version, on a publicly accessible server, gives the public access to the source code of the modified version.
- wongarsu 4y agoImho if you're ok with the GPL v3, the AGPL v3 is almost always the better choice. The spirit of the GPL is "if you change it for anything other than internal use, you have to distribute the changes", and the AGPL just logically extends the enforcement of this to services provided over the internet. The AGPL v3 and GPL v3 also contain provisions to make them compatible with each other (resulting in AGPL terms for the combined work, but the GPL parts remain GPL). The FSF goes a bit more into detail on this: https://www.fsf.org/bulletin/2021/fall/the-fundamentals-of-the-agplv3 https://www.fsf.org/bulletin/2021/fall/the-fundamentals-of-t...
- bawolff 4y agoFWIW, i dont like the ambiguity of what is "configuration" and what is "code". I feel its a bit unclear. I also think its a bit problematic taken in the absolute, sometimes you have security patches you want to deploy and test out for a week before making the issue public, or perhaps emergency patches for sudden (downtime causing) issues.
- MichaelCollins 4y agoI don't think the nitty gritty details of the AGPLv3 matter much in practice. Those details matter most to the sort of organizations that fear lawsuits and consult with lawyers, and such organizations will likely not use AGPLv3 licensed code at all. AGPLv3 is thus a de facto 'hobbyists only' license, and hobbyists by in large don't go around suing each other; generally they just make good faith efforts to respect each others licenses and maybe use social ostracism when somebody steps over the line. Since hobbyists don't take their community disputes to court, the technical legal minutia of the license doesn't matter to most of them.
- bawolff 4y agoI still think details matter because it helps determine what is good faith following the license. Ambiguity also helps spread fud, which makes it harder for big companies to contribute and reuse such software.
- sneak 4y agoMany people find the AGPL to be a nonfree license, myself included.
- ebiester 4y agoWhat isn't free about it? As a corporation, I might not want to use it in conjunction with my code, but that's the point. You are free to do what you want, but you in turn must share your code. Or you engage with the owner to make a financial arrangement for a separate license.
- sneak 4y agoIn short: It prohibits you from not sharing your code based on whether or not the ethernet cable is or is not plugged in to your machine. This is like nonfree usage restrictions on otherwise free software, like the famous (if unenforceable) “can not be used for evil” license clause.
- bawolff 4y agoRight but which freedom does that restrict that's not in the spirit of the gpl? I.e. the gpl prohibits you not sharing code if you distribute the binary. What is the philosophical underpinning of "sharing binary" not being a restriction but "ethernet" being a restriction. The evil thing is not similar because you are discriminating against a field of endevour (similar to licenses that say educational use only, non-commercial only or non-military only). It seems to be a very different type of restriction.
- em-bee 4y agothat's not right. in my understanding the intention of the AGPL is to share code with users of a program, even if the users didn't get a copy of the program. therefore the AGPL shouldn't force you to share code if the program runs on a server. but it should force you to share code if the program can be accessed by a user. this may even apply to running something like a kiosk device where users interact with a program on a device they don't own.
- 4y ago
- karussell 4y agoAs an open source project 'owner' my personal experience is similar i.e. nearly nobody of the companies contributes back. Often times you are not even allowed to talk about their usage. But still, I think the permissive license we picked was the better choice. Especially after our company was formed and we want to use the project for ourself too the (A)GPL would make the community working together with this harder (CLA, dual licensing?) IMO a permissive license is better and easier for the developer and the GPL is better for the end user. But even the GPL does not grant you anything without a lawyer :) E.g. I tried to get the GPL source code from Waze (tried it multiple times!) and got a reply: "I've looked into your concern and determined that it needs some extra attention from our end." See also https://2jk.org/english/2014/03/27/israeli-waze-hit-with-gpl-class-action-lawsuit-plaintiff-requests-source-code/ https://2jk.org/english/2014/03/27/israeli-waze-hit-with-gpl... (btw: you can get the inofficial code from here https://github.com/maximuska/Freemap-waze https://github.com/maximuska/Freemap-waze)
- goodpoint 4y ago> IMO a permissive license is better and easier for the developer and the GPL is better for the end user No, as developers we use tons of software. We are users before being developers. As such, GPL protects developers as well.
- bawolff 4y ago> Especially after our company was formed and we want to use the project for ourself too the (A)GPL would make the community working together with this harder (CLA, dual licensing?) In this scenario, your company is the thing GPL is trying to protect your community devs from (i.e. the gpl is trying to stop a company from taking contributions donated on the condition they would be open-source, and selling them privately without compensation). You are basically saying the GPL makes it harder to do the thing the GPL was trying to stop.
- marcosdumay 4y agoThe GP wants to donate some software to the community, on the condition that he gets to use any derivative community work on his product. Anybody contributing to the code is clearly informed of that, and decides to do it out willfully. It's a perfectly reasonable arrangement that adds value to both the community and the GP, and that the GPL "protects against". So, yes, the GP's point stands in that there are uses for licenses other than the GPL. All of the complaints about they only being good for people creating proprietary software are true, they just completely miss the point.
- simonw 4y agoMy single biggest incentive when I'm writing open source code is that I want to NEVER have to solve the same problem again, for the rest of my career, no matter who I am working for in the future. That's why I chose the license that seems least likely to prevent me from being able to use the code I've written (currently Apache 2).
- goodpoint 4y ago> That's why I chose the license that seems least likely to prevent me from being able to use the code I've written (currently Apache 2). That's incorrect. As the upstream author you have every right to use your own code any way you want.
- bogwog 4y ago> As the upstream author you have every right to use your own code any way you want. Well, that depends on if the project accepts pull requests, and whether they have something like a contributor licensing agreement in place.
- goodpoint 4y agoI wrote "your own code". Obviously if you accept contributions from others it's different.
- b3morales 4y agoI think the parent is alluding to a situation where their employer has copyright for the code written on the job. If you take your own previously-written code and just "submit" it to the codebase, you've created a legal snafu for yourself if you ever want to use that same code again elsewhere. Of course you can take your code and license it to said employer in whatever way you both agree on. But this is going to be much easier if the code is already publicly available to everyone, with a known license: the employer doesn't need to even care really who the author is, just the license.
- 4y ago
- twic 4y ago> My personal experience with devs who don't want to GPL their code or contribute to GPL projects is that they're under the impression that having a permissive license on their own project will get $corp to use it and, somehow, they'll profit from $corp using it. I don't think i've ever heard someone saying this. Does anyone really believe this? Some concrete examples would be illuminating.
- gampleman 4y agoFor me the logic roughly worked out like this. I managed to get successive employers to "sponsor" (i.e. pay me my normal salary but let me use my work time to work on my open source project) my open source project, because we were using that project at work and it was missing features my employer was interested in. Some of those employers had policies outright prohibiting GPL use...
- LtWorf 4y agoif it was lgpl licensed they'd have no choice but to do that
- gampleman 4y agoNo. They would have simply never adopted the library and most likely not hired me either.
- LtWorf 4y agoas it goes for 99.99999999999% people who release under MIT. And linux (GPL) does have paid developers, and so does webkit (LGPL). Your data is rather meaningless… but I'm happy your statistic that excludes all the data points you dislike proves your theory :)
- deleted 4y ago[deleted]
- convolvatron 4y agoI choose BSD over GPL because I want myself and others to have the maximum utility of my work. demanding downstream users coordinate that work with me doesn't really support that goal for either of us.
- nine_k 4y agoThe case of Linux vs *BSD is probably the largest-scale test of efficiency of GPL vs permissive licenses on stuff contributed back. It also looks pretty decisive, too.
- erk__ 4y agoI think it is dangerous to look at this too much, there are other reasons that Linux got off to a better start not directly related to the license. Such as some rather serious lawsuits against FreeBSD in the past, that hurt adoption in the time Linux was getting up and going. But yeah it is true that Linux is much more efficient at getting stuff upstreamed, I think Sony has sent more patches to Linux than FreeBSD and the PlayStation runs on it.
- CJefferson 4y agoThe only problem I have with GPL is that I don't want to use "or later version" (as I don't trust all future FSF leaders), but it's illegal to link GPL V2 and V3 code, and I would expect the same problem will arise with a future V4.
- moron4hire 4y agoTo add on to this: There's also the path that--even if you have a permissively licensed project--$corp will see your thing, like it, and decide to just copy it, to overall avoid having to deal with dependencies they do not own. In other words, a lot of places are unwilling to play in anyone else's backyard. They "support" open-source, but only when it's on their terms. They might even call you, under the pretext of a job interview, and of course they want to discuss in detail the most significant project you've worked on! But you find out there are all kinds of awkward conditions on the job offer, like a cross-country move, or much lower pay than you were expecting, or no actual commitment that you'd be working on your project but just a vague, verbal statement that you could continue "during 10% time". You'll have to interview three more times with 15 more teammates. Everything gets dragged out for months and then you see them announce their own project in opposition to yours. That is, if anyone pays attention to your project. Most open-source developers are categorically averse to anything resembling advertising. Try building a thing and then posting about it on a topic-appropriate sub-Reddit. So many of them will delete your post or ban your account from the sub for "spam". The vast majority of the market--including other open-source developers--want open-source developers to write code, shut up, and go away. The minute you start talking about maybe wanting some remuneration for your efforts, you're suddenly "ungrateful" or "shilling" or "spamming" or "selling-out". (EDIT: It's happening in this very thread, further down the page)
- twblalock 4y ago> My personal experience with devs who don't want to GPL their code or contribute to GPL projects is that they're under the impression that having a permissive license on their own project will get $corp to use it and, somehow, they'll profit from $corp using it. A lot of big corporations will not allow GPL dependencies to be used in their codebases, and not having a GPL license will definitely make software more usable by those corporations. How the developer expects to profit by giving something away for free is definitely a mystery, but there is also some truth to the idea that a GPL license does scare companies away.
- ryan_lane 4y agoThe GPL solves very few problems nowadays, because most software isn't distributed anymore. The AGPL solves a specific issue: a company is running an undistributed, modified version of the code, which is accessed by end-users, that gives them a business advantage. Elasticsearch is a good example of a problem that isn't solved by a different license. Amazon is running essentially unmodified versions of elasticsearch, which competes against the business model of the company building elasticsearch. Even with an AGPL license, elasticsearch (the company) is not going to be making any money. If a company isn't interested in upstreaming changes, it probably won't help that they're using an AGPL license. If the code isn't user-facing, the license won't force them to make their changes available. Even if it is, often changes a company doesn't want to upstream are very specific to them and aren't useful to others. Even if it's business valuable, and the company makes the changes available, they won't be making it easy to integrate. The AGPL, more than anything, places a burden on users and developers, and reduces the community size. Most companies don't allow the use of AGPL software, and in the cases they do, they often only allow its use in an unmodified way, or only allow modifications if it isn't user-facing.
- systems_glitch 4y agoThat was our main reason for scrutinizing AGPL libraries at $previous_job. IIRC our biggest concern was over iText (Java PDF library) and other libraries that depended on iText. In our case, we ended up not having to modify anything and were fine, but if we did have to modify, it'd have been to include trade secret features, which are a non-starter for distribution! It's a nasty, complicated situation with bad actors on both sides.
- hnfong 4y ago> because most software isn't distributed anymore You're probably thinking of SaaS, but, still, what? I'd argue we distribute software much more than say 20 years ago. Almost every web site you view is distributing non-trivial software (javascript, from maybe a dozen npm packages). App stores are making software distribution much easier for the average user. Programmers are increasingly using dependency managers to download libraries. Even every SaaS service is getting their software from somewhere, and the tech stack is increasingly complex these days, which means even more software being distributed and used. Perhaps what you mean is "software isn't sold anymore", so the money is all in the services. Which is probably true, and this is probably where GPL is becoming irrelevant. But then, it can be argued that the services model was in part the industry's response to the prevalence of GPL, which pushed businesses to find workarounds. People need to make money, and if software sales isn't generating enough dollars because GPL software pushes down the prices people are willing to pay, then they'd just invent reasons for users to buy services instead. -- which, if true, could be interpreted as a success story for the GPL.