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.
>> 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.
>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.
Their users are not being denied the freedom to use my code, their users are being denied the freedom to use their code, which is their right.
The cynic in me really thinks its important to wonder why there exists a GNU, and not an organization formed around and sustained by the MIT license.
>> Their users are not being denied the freedom to use my code, their users are being denied the freedom to use their code, which is their right.
Unless they know it came from you and where to get it (which will not be advertised), they are. Also, after you die and your source code is gone, the derivative work could still go on to whatever success and none of the users of your code will have access to it except for that developer of the derivative work.
>Unless they know it came from you and where to get it (which will not be advertised), they are.
And almost all licenses require attribution.
>Also, after you die and your source code is gone, the derivative work could still go on to whatever success and none of the users of your code will have access to it except for that developer of the derivative work.
This makes no sense. The source code of what I did will still be around, and still be attributed. Dying doesn't make my work disappear into the ether.
>> This makes no sense. The source code of what I did will still be around, and still be attributed. Dying doesn't make my work disappear into the ether.
Yes it does, unless someone keeps it online or somehow available. But again, just because it technically exists somewhere doesn't mean a user of the derived work will know how to find it, nor what parts that work are actually covered by your code prior to finding it. You are starting to sound like someone deliberately not getting the point of this.
I see a valid need for "permissive" licenses, but the legitimate reasons are rarely cited by proponents of the licenses.
>But again, just because it technically exists somewhere doesn't mean a user of the derived work will know how to find it
This sounds pretty ridiculous to me. Can you cite an example of abandonware that completely disappeared from the public internet but continued to be used by some user-facing product? It seems to me that if development stagnates on a project entirely, its almost a certainty that the project is unused, or has been forked (and potentially new changes have been placed under another license).
>nor what parts that work are actually covered by your code prior to finding it
So, the open source license should really only be relevant to highly technical users (that is, my parents will never care about the license software is under). I'd hope those users are capable of discerning what the OSS licensed software does.
I think this is partly why the GPL makes much more sense pre-internet in the eras of floppy and CD distribution. (It shouldn't be surprising that the GPL 3 still has physical media requirements.) With the internet it is hard not to think that source code is "merely" a search away.
This is fair, and admittedly I'm young. By the time I started writing code, github already existed. I can't really fathom a situation where all versions of a library could fall out of public access, unless that library was truly and completely unused.
> The cynic in me really thinks its important to wonder why there exists a GNU, and not an organization formed around and sustained by the MIT license.
Of course. The MIT license is the legal equivalent of putting shit out on your lawn with a big 'FREE' sign. There's no need to protect that. The GPL requires you to pay the developers in contributions, which requires enforcement.
> The GPL requires you to pay the developers in contributions
No it does not. The GPL is a downstream license. It requires you pass on the freedoms if you share with others. It does not have any requirement that anything be upstreamed back to the place you got the software from.
>> The cynic in me really thinks its important to wonder why there exists a GNU, and not an organization formed around and sustained by the MIT license.
The cynic is me says the answer is that the people interested in MIT licensing are not very interested in sharing their work with others in an organization.
Don't get me wrong, there are instances where MIT or BSD licenses make sense. Desktop software is not one of them.
>The cynic is me says the answer is that the people interested in MIT licensing are not very interested in sharing their work with others in an organization.
Don'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).
False. 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.
Copyleft is about pay-it-forward not reciprocity. There's zero reciprocity in copyleft besides the incidental fact that updates paid-forward to others might be discovered and accessed by the original person who gave you the software (or that you could share the updates back in reciprocity, but that's not part of the license, it's just something you might do).
> their users (which are using your code) are being denied the freedom you promote.
This is often asserted, but unless those proprietary software developers are somehow able to magically erase your own claim to copyright, the user is no less free when using your original version.
My code is not denying anyone's freedom. Someone downstream might be denying their users' freedom, but those are their users, not mine. Downstream use of my code for evil purposes is outside of the scope of my own development.
What is in scope, however, is the idea that a downstream developer should either contribute code back to me (whether privately or via license reciprocation) or not claim one's own product to be equivalent to my code. The Artistic License 2.0 does a decent job at that.
I 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.
I've been in few famous tech $megacorp.
I've seen Open Source projects with many companies behind them perform poorly because of BSD/MIT.
It's in the best interest of a large company to contribute until the project gains a large userbase willing to pay for extra features, while selling forks (with added proprietary features).
Then a company quietly pulls out of upstream development to focus on developing and selling their fork. Chain reaction and the other companies quickly follow the example.
Customers trusted that they were using a "mostly" Open Source project but suddenly end up having to choose between proprietary products with an open core.
>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.
If he went along with his product being forced to be open, what then? It still has your name associated with it, he might still sell some copies. I'm just not getting the principles.
I would just have taken his source, compiled it and provided it for free -- he had no real intentions of opening it, and in fact never released his 'code' afterward, which proved my point.
it's not the first time I see that, at my previous company, a guy took most of my in-house (closed source) middleware layers and was selling them as a 'product' as is on the interweb.
Most people wont buy something for money that they could have for free. Not just for utilitarian reasons. Although on one hand the logical consideration is do I value whatever I'm getting in exchange more than the money I am paying on the other hand the perception that someone is getting the software for free, adding 1% value and then charging you creates the impression that they are getting an overly large advantage out of the interaction and nobody likes this.
People would rather be objectively worse off rather than feel that they had been taken advantage of.
If we look at it from a utilitarian perspective having someone who didn't add much capture all of the commercial value seems to be pretty poor. If the feature he was adding was worthwhile I bet he could have been honest and convinced people to pay him to add it. Everyone would have benefited and paying him would have been worthwhile and necessary because while he couldn't have legally kept it closed source, he didn't have to write or release it at all.
> 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.
For every iXsystems (who are excellent Free Software citizens) you have many NetApp, EMC and Isilons, who use the FreeBSD code to build profitable products on and give nothing in return.
NetApp is a very good example, as they contribute NFS code back to Linux but not FreeBSD.
>For every iXsystems (who are excellent Free Software citizens) you have many NetApp, EMC and Isilons, who use the FreeBSD code to build profitable products on and give nothing in return.
NetApp is a very good example, as they contribute NFS code back to Linux but not FreeBSD.
Literally every company you mentioned contributes code to FreeBSD, so what are you even talking about[1][2][3]?
> Oh great, FreeBSD has the WAFL filesystem now ! That's great news, I must have missed the release announcement ! Is it in the main repository ?
Hint, shitty little few line fixes != contributing back.
What a disingenuous response, Linux does not have the WAFL Filesystem and so why point out wether FreeBSD has it or not. Also NetAPP released Bhyve and EMC Isilon has made over 4000 commits to the FreeBSD tree, those are serious contributions regardless off what you say.
As a member of the Software Freedom Conservancy board you should seriously stop spreading Misinformation and being so dismissive of other FLOSS projects.
A more complete lie you could not have stated. Check the FreeBSD commit logs. All those vendors commit code back to the project. I see commits almost everyday from them. But thanks for spewing lies.
GPL enforcement of said wifi routers is the _only_ reason we have drivers for several wifi chipsets. Perhaps ironically, the BSDs benefited from this too.
For several reasons I use mostly commercial commercial software, but everything I write outside work regardless of how useless it may be, is always released under GPL.
I 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.
> 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.
So 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.
> So 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).
Could you expound on what DarkTable, GIMP, and Inkscape needs to be more comparable to the Windows/Mac alternatives? What are the crucial, missing features?
As a hobbyist photographer and video editor, who has used Lightroom and Photoshop extensively, I find that I manage fine with alternatives available on Linux.
> 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."
I am working on it. A lot of us are. But we need to know what to implement. We need bug reports and feature requests. DarkTable alone has almost 20 000 commits and 200 contributors. The Linux kernel has about a 1000 contributors for every release.
Does it look like we're not working on it?
And money? ... Well, yes, most HN commenters seem to be very money-centered. After all, it's a site about starting new crappy companies, pushing shitty, useless products noone needs. They don't give a shit what they partake in, as long as the paycheck is right.
But, nevermind that.
A lot of open source contributors are paid full time to do this. So you can work on open source 24/7 and get a fat paycheck, if that's your thing. The two are not mutually exclusive.
Then there are those who actually code because they like it, you know. Because it's their passion. They might endure a shitty job to make a living, but in a weekend they do 50 commits to open source projects.
Be a slave if you want, I choose not to. I work on whatever I want.
I can't speak for the experience on linux, but on mac Inkscape needs to:
- Support high dpi displays
- It needs to scroll and zoom smoothly. (There's no reason for it to lag while scrolling and zooming on a modern computer. Every other app on my system manages it).
- It needs to use the operating system's menubar instead of xquartz.
- Use native controls for everything. That open/save dialog looks like something out of the 90's.
Proprietary OS users are going to judge Inkscape (or Gimp, or any other Free Software) from what they see on their platform. If it lags and doesn't support High DPI on their platform, they're going to assume the same is true of the GNU/Linux version.
Some users won't switch because of this faulty assumption.
Native UI… while there is little point it catering to users who won't switch anyway, it will still reflect badly on the application. Widgets that look like "something out of the 90's" will say to the user "I am an old unmaintained app" whether that's true or not. Users are highly influenced by an application's look.
To me, cross-platform is not the holy grail--Linux is fragmented enough as it is. And certainly not to a platform like Apple's.
Porting free software to a walled garden is grotesque.
I think focus and efforts should be directed at making good software for Linux. And I do not think that porting OSS and free software to closed systems is a good strategy for converting users.
Users switch from macOS and Windows to Linux for all kinds of reasons, but there is no point in trying to "lure" them in any way. It will be of own volition.
It's not just a matter of luring people in. Some people who want to switch to GNU/Linux won't because "Inkscape sucks" or something. I bet Gimp and Libre Office have similar issues. MacOS users are especially problematic because they're so vocal.
That said, I think this is but a small part of the problem. The bigger enemies are the bundling of Windows with new computer (no separate purchase of the OS), and windows-only games. They're the main reasons behind the proprietary hegemony on the desktop.
When so few desktop computer run Linux, half-heartedly supporting Windows and MacOS comes of as a bit haughty. But if Free platforms are the norm, supporting the proprietary ones at all will actually sound generous.
I don't see people driven away from OSS. Rather I see even big corporations embrace it. Even Microsoft. And look at the explosion of public projects with Github.
The problem is, his side is "winning". Linux is quite hostile to proprietary software, so not that many people will use Linux since apps > OS. So if OSS doesn't push for better apps even on proprietary systems, it won't even get out of this catch 22.
Linux is big and unspecific. But if we talk about a user count of Linux on the desktop vs OS X/macOS on the desktop, then Linux is not far behind, according to various statistics. Linux numbers are actually a lot higher than the recorded stats, as those are just based on web browser information. Many Linux users do not even use a browser that is counted in these statistics.
People often seem to forget just how small Apple's desktop marketshare is.
erikbye never indicated that he cares whether OSS gets out of the catch 22. I develop a Linux distribution and I know that I do not care. I care about my experience and other users' experiences, but not people who use MacOS. I value software freedom of the things I work on much more than a Mac user.
I don't even see the catch 22. There are more than enough Linux users for a thriving ecosystem, has been for many years, and it's only growing.
Like I said in a comment above, Apple's desktop share is incredibly small percentage wise, but more than big enough for them to sell desktop hardware.
Now hardware vendors also offer Linux (Dell, System76).
Linux/Unix absolutely crushes it when it comes to server/infrastructure, academia, and research. Who cares if official numbers call desktop marketshare of 2% or 5%.
> I develop a Linux distribution and I know that I do not care.
Well, you should care. You should care when your clients or friends send you a file in a format that you can't open or transform properly on Linux. When you want to print something and your printer doesn't have drivers for it. When you want to play an AAA game and it's not available for Linux. Etc., etc.
My friends send me e-mails and messages, which I read with open source software, with links to news articles that I read with open source software. I message with open-source apps using open standards.
I manage (and share with my peers!) the books for an organization with GNUCash.
I collaborate on and write papers with LaTeX, write my code in languages with open standards, use primarily open source compilers, and run my code on Linux cluster which use open-standard parallel communication APIs and open-source implementations.
I do not play video games.
My office printer is plug and play with Linux/CUPS.
All done on my trusty custom linux distro (Exherbo) for years. Oh, and I haven't reinstalled since 2010 but I am running the most recent open-source GNU/Linux software.
Maybe my life and my needs don't match others', but then again maybe erikbye's don't either. Anyway, that is why I do not care about more people using Linux. If anything, more Linux users have made the internet a less useful resource for helpful Linux knowledge.
Why should I care?
P.S. my phone is another story, but I expect different things in that space.
Why is the lack of certain AAA games held more against Linux than macOS?
Linux has 1950+ games on GOG and 6500+ on Steam. Some of them AAA.
When it comes to file formats, I'm sure there are certain formats that poses a problem, but at least not the most commonly file formats exchanged. Like Microsoft Office formats; LibreOffice opens pptx, ppt, xls, xlsx, docx, doc, docm, etc.
Inkscape as mentioned above, opens Adobe illustrator files.
Both GIMP and Krita opens Photoshop files. Krita perhaps being the most appealing alternative to Photoshop users (UI-wise).
And normally, if you have clients, they don't arbitrarily send you arbitrary files in random formats. You have agreed on a workflow and file type.
> Well, yes, most HN commenters seem to be very money-centered. After all, it's a site about starting new crappy companies, pushing shitty, useless products noone needs.
> 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.
Would any of Stallman's ideas change that? If you could wave a magic wand and make all the BSD/MIT sourcecode out there GPL, how do you imagine that resulting in the gimp being funded, or staffed by good UX designers?
I suspect it might put a lot of engineers out of business, because of how much the modern development industry depends on opensource. But then programmers would just have less money. I don't know how that would help bring about stallman's utopia.
Asking as a person who's never done "real" editing work, but has dabbled here and there and finds Inkscape to be one of the more pleasant OSS projects. I wholeheartedly agree that Photoshop kills GIMP, and I understand the reasons why. So I'm curious what the reasons are for Inkscape v. Illustrator since I haven't run across them?
>>> it's very difficult to see or address in a meaningful way.
That's not a reason to stop believing and helping with small things. I don't say you don't contribute, I just say that "difficult" doesn't mean "impossible" in any way :-)
Most open source stuff actually is poorly engineered, if engineered at all, because a lot of it is developed by beginner-level coders. Now, I do of course know that many, many commercial products are full of crap, too ... but engineering excellence still mostly goes into commercial products. Obviously. It goes where the money is, and in most product categories that can't/won't be open source.
Almost every open source project is completely focused on implementation, all the while implementation is only one facet of a software project. All other facets are usually neglected.
Yes, there are quite some projects one might call "industrial-strength XY" -- but the vast majority aren't and never will be. This is also not just a numbers game; a large number of crap-quality open source stuff is incorporated into widely deployed stacks. Just take libraries for file formats, just a couple days ago we got a dozen or so CVEs in libtiff ranging anywhere from denial of service to arbitrary code execution. That thing will be on most web servers.
The only reason I use GIMP is that Adobe software isn't available on Ubuntu. Sure, some artists have used it to create great works but that speaks more to their capabilities as artists than GIMP's as software.
Ubuntu is pretty solid but I would be a liar if I wouldn't admit it has serious flaws (e.g. making the user execute superuser shell commands to test and enable hibernation is pretty shitty UX). I'm tech-savvy enough to be willing to accept these trade-offs but I can easily see the appeal of macOS (even if the naysayers are right and Apple have lost their way).
I started off the year by giving a couple of alternative browsers a chance to wean me off my reliance on Google Chrome and even Brave was a more workable solution than Firefox: in order to make Firefox work properly I had to learn about its multiprocessing mode and individually test extensions from the official addon hub for compatibility. And while the dev tools certainly feel like a lot of effort went into them they come nowhere near the UX of Chrome's.
Even GitLab needed a lot of time to reach a state where it can be considered a serious alternative to GitHub (sans the community around GitHub, sadly). And GitLab has an entire company around it and is "merely" open core.
These days when evaluating software alternatives for any given problem the words "open source" are no longer a selling point for me. Even worse: if it's not tied to a commercial entity somehow deriving profit from it, I'm less inclined to use it. Self-hosted open source web app maintained by volunteers? That's usually code for terrible UX and show-stopping bugs.
> The only reason I use GIMP is that Adobe software isn't available on Ubuntu. Sure, some artists have used it to create great works but that speaks more to their capabilities as artists than GIMP's as software.
Do you think the tool ever makes the artist? I have seen great works of art made with a pencil. A piece of coal. A twig and blood. A simple needle and ink. I have seen great works of art made using Microsoft Paint.
> Ubuntu is pretty solid but I would be a liar if I wouldn't admit it has serious flaws (e.g. making the user execute superuser shell commands to test and enable hibernation is pretty shitty UX). I'm tech-savvy enough to be willing to accept these trade-offs but I can easily see the appeal of macOS (even if the naysayers are right and Apple have lost their way).
I don't like Ubuntu and I don't use it. But, there are plenty of things that can only be done using a terminal in macOS, as well. In fact, macOS/Apple is pretty much known for hiding things from their GUIs.
Anyway, I do not agree that typing in commands are bad UX. Many things are far easier and faster to do in a terminal than through a GUI. One example: installing software.
> I started off the year by giving a couple of alternative browsers a chance to wean me off my reliance on Google Chrome and even Brave was a more workable solution than Firefox: in order to make Firefox work properly I had to learn about its multiprocessing mode and individually test extensions from the official addon hub for compatibility. And while the dev tools certainly feel like a lot of effort went into them they come nowhere near the UX of Chrome's.
Why are you talking about browsers and comparing Firefox to Chrome, are you trying to compare open source vs closed-source? Do you know what Chromium is?
It sounds like you are actually trying to say something as stupid as: open source projects are generally worse than closed source projects?
GitLab is a good example of excellent software. It has a proper business model and has built a great community.
Most Linux desktop applications sadly have no good business model. If you have a business model you can pay developers, designers, support, writers, etc.
I agree, and it would be nice to have those things done. Free software has a bit of a chicken-and-egg problem now where there is a lot of demand for certain things like you mention, but it's difficult to find funding to actually do them. I don't know what the way forward is, but it's something our community needs to be better about.
Open source and free software is thriving. Always have. Look around you. Look at what runs the internet you use. Look at the number of projects and the number of contributors.
A business friendly license (like BSD) usually results in exactly what Apple has done. Take whatever they want, close it off, and hardly contribute back upstream.
This and hostility towards confused newbies. Newbie gets confused over UX, seeks help, gets told he is an idiot or gets redirected towards badly written unhelpful manual.
> 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.
Another way to look at this is that it has allowed companies to contribute to open source at all.
We'll never see how the industry would have developed if there had only been GPL and closed source with nothing in between but I believe we're better off this way because I don't think enough closed source companies would have made the jump to GPL.
Right now I'm using an open source OS published by a commercial company, running an open source browser published by a commercial company and make my living developing software using open source libraries published by commercial companies. Most of the software these companies produce is open source and most of the open source software is non-GPL, yet they are enabling me to stand on their shoulders for free.
Political tangent: I think a pure GPL open source ecosystem is impossible in a capitalist environment. Much like Communism it only works when executed at a global scale to achieve the critical mass. If GPL is Communism, non-GPL open source is Democratic Socialism. Purists think it's a stopgap at best or distraction at worst, pragmatists see it as the only viable alternative to the tyranny of closed source.
But Android isn't really open. Without the Google Play Services, you can't use half of all apps, or even get push notifications without ruining battery life. Your device likely also uses a bunch of binary firmware blobs without which it wouldn't work. It's pretend-open.
Also, Chrome for Android isn't really open source either, see the FAQ: https://developer.chrome.com/multidevice/faq "Chrome for Android is derived from Chromium. Since the launch of the first version, we have steadily open sourced all the critical components. You can build various Chromium components for Android as used in Chrome for Android using the instructions here."
I wrote that comment using Chrome (by Google, a company that makes money) on Ubuntu (by Canonical, a company that makes money) so your argument isn't really relevant.
Although to be fair, Google Chrome itself is not open source (although Chromium is). The main reason I'm using Chrome rather than Chromium is that I like the closed source parts too (e.g. the Google-specific integrations).
>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.
> 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.
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.
> 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.
Again, like I said, that's clearly debatable.
First I think we need to shoehorn some terminology into this conversation in order for it to be useful.
You have two clearly distinct roles. You call them "developer" and "user", but that's really imprecise and doesn't correctly capture the use-cases which we're discussing, so here's my attempt:
* A publisher (what you call a "developer", someone who releases software, different software, one which will have to "deal" with reciprocal licenses).
* A user (one which runs software, usually on devices he own).
It may not be the norm, but a user may very well build and modify the software he uses (that is: do development work), and submit patches back upstream (instead of forking/bundling the code and modifications in another product). So while clearly a developer, he is first and foremost a user, and he doesn't need to care about licensing, since he doesn't actually release anything on his own.
Example: As a user of a device I buy, I want to be able to modify and replace its firmware when I find it lacking. In this case I'm a user, not a developer, at least not until the need arises.
And a "normal user" may not be able to do all these things, but as others have noted, there may be a pre-existing development community which has pre-modified builds available (like Cyanogendmod, OpenWrt, Coreboot, whatever).
In that sense, things being open to me, the user, the owner of the device running the code, has an high value anyhow. Not having control over what runs on my devices is unacceptable in a post-Snowden, emerging IoT-ridden world.
And I think those concerns are much more important for the IoT-everywhere world we're moving into, than some mere licensing inconveniences for publishers when they free of charge incorporate other people's work into their own product.
My 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.
> I was cynically happy when a lot of GNU projects were licensed under GPLv3, and suddenly everyone who locks down their firmware was sent scrambling for alternatives
This is not necessarily a good thing.
Lower adoption rate of GPL'd software means less freedom for the user.
And 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.
There'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.
> 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.
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.
I'm glad you use the word "naively". It's the big difficulty with the GPL : it's everything but naive. Even for me, personally, it has produced effects which went way beyond what I thought and it made me realize (painfully) a bit more about myself...
I'm glad the GPL is what it is : it's so tough you can't avoid the debate. And that debate is soooooo useful...
> 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.
> 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.
A 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.
> 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.
The 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.
I 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.
> 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.
> 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.
There'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
I recall a motorcycle which people thought was nice and cheap, but had this major problem where the motor was baked into a single block in such a way that you could not repair most things in it.
Are most motorcyclists also mechanics? No. Do most motorcyclists care about the minor details of the inner parts of the motor, or scientific methods used within? No. Most just want a motorcycle that is cheap, function properly, and yet this specific motorcycle was strongly disliked and viewed as a trap. You could not repair it when it broke and you could not recover the investment by reselling it.
So say you are a non-developer and buying a e-reader with a bunch of DRM. The publisher go busts and you want to recover your investment. At that point you do care that you own a brick rather than some general purpose computer, but its to late. You are stuck in the trap.
In 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.
We 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.
Very 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.
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.
Well, 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.
Maybe 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.
Extracting 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.
If 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'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.
I 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.
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.
>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.
I 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.
You'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.
I'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.
Somewhat 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?
I would call it religious, because they (including some I know personally) attribute strong moral value to the whole thing. It is not just that they strongly prefer certain license, it is that they see close source developers as morally less worthy and inherently less "good" (whether professionally or ethically).
I think there's a subtle difference. While dogmatic is often used when in context of religions it's not exclusively related to religion.
Google's definitions of religion:
>the belief in and worship of a superhuman controlling power, especially a personal God or gods.
>a particular system of faith and worship
>a pursuit or interest to which someone ascribes supreme importance
and of dogmatic:
>inclined to lay down principles as incontrovertibly true
I think the most precise use of religion is in connection with faith or a core belief system and lifestyle (which some open source advocates certainly fit), while strong positions in a particular topic or narrow scope, e.g. the GPL, tend to be better described as dogmatic.
Which, reading back to the parent comment and the scope of the thread, I guess either could be used fairly appropriately.
A better place of where I think dogmatic would be the preferred wording would be in reference to tabs vs. spaces or vim vs emacs.
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.
"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.
> The GPL is a fine open source license that grants all the permissions needed by developer communities that adopt it. There is no sense in which it is not "permissive", so to use that term as an antonym to "copyleft" verges on abuse.
Sigh. This attitude makes it enormously difficult to have any kind of conversation about the tradeoffs of open source licenses, because it reveals a profound lack of perspective or willingness to admit that even your darling license isn't perfect.
Can we not just accept that there are two different attitudes towards freedom? One says that true freedom being able to do whatever you want, the other says true freedom is restricting others from infringing on your freedom (and being thus restricted in turn).
This is anarchism vs libertarianism, Jon Stewart vs Bill Maher liberalism, and non-interventionism vs neoconservatism. Do you preserve freedom even if you need to do it by causing unfreedom? It's a question that has resisted all attempts to find a simple answer despite generations of attempts.
It could be that all these people just need to read the GPL to find out that there's no sense in which being required to do something is not permissive. Or perhaps a little humility is in order, and we could make the effort the understand that different ideologies can, if not agree, at least respect each other.
An anarchist ought not care what the license terms are; they are already operating in an ethical framework that revokes concern for a collection of words that rely on state violence to have meaning.
Cool! A discussion where the anarchists are represented clearly!
Do I understand libertarianism the way sgentle does? He compares anarchism:libertarianism::permissive license:GPL, so I guess he's using libertarianism in the sense of "absolute minimum amount of government necessary to enforce property rights."
As to whether you preserve freedom best by causing "unfreedoms," philosophy already has some pretty useful things to say, such as ue_'s comment:
Hegel ... described the freedom of the savage being a kind
of unrefined freedom
Some freedoms are conflicting by their very definition. Resolving the conflict is at its core the imposition of an ordering over the set of all freedoms, or in other words, a value system. Almost all the discussion on this article can be reduced to a comparison of well known value systems and attempts to sway readers to one or another.
An anarchist could very well see using a license as a political act: disagreeing with the existence of an institution doesn't prevent you from using the levers of power provided by that institution to achieve a given end.
I'm a bit surprised "dual licensing" hasn't come up at all in this discussion. To me that is the most logical next-step from the GPL. (ex: The Qt/JUCE people are using it to great effect)
- If you want to work on expanding on what I started and then sharing it with everyone, then that's great!
- If you want to make money with my work - then lets get in touch and work out some compensation. Seems only fair.. no?
It's a little fuzzy because you can have opensource projects that make money, but it fits the general spirit of things.
Though I'm not sure how it would work if for instance someone sends you a merge request.... do they have to also send something signing over the rights to their work? Is there a better license that does this automatically?
(does anyone know how Qt handles that for example?)
Well, I contributed to the dual licensed project, only to see the company increasing the price of their (somewhat related) monetized project 7 fold or so, screwing people over on the related product. Of course the contributors get nothing for their copyright assignment. It's like thank you for your contribution to our documentation system, now pay 7 times more for our main product you're also using.
I'm wary of these schemes as a potential contributor. It limits the reciprocity.
I'm much happier with projects that don't require free copyright assignment from their contributors.
Maybe I'm not understanding your point... you only pay if you want to use it in a closed source capacity. The alternative (just a vanilla copy-left license) would mean it's simply impossible to use in a closed source project at all.
So if all you do is write open source software, there is no difference for you. And if you write closed source software (or some project/client suddenly requires it of your for some reason) then you have something you can do.
Yes, indeed. The submitter needs to sign over copyright. Otherwise you don't have the right to relicense their work under some other for-compensation license. All GNU projects require copyright assignment, for an example. The GPL license is silent on copyright assignment of pull requests, so you have to execute a document outside the license. I believe some other open source licenses address this directly, but I'm not sure which ones.
> Yes, indeed. The submitter needs to sign over copyright. Otherwise you don't have the right to relicense their work under some other for-compensation license.
Wouldn't it be possible to require patches to be supplied under CC-0, which would allow the maintainer to take the patch and incorporate it in the GPLed source?
CC0 is a disclaimer of copyright, so yes. The essential test you need to pass for dual licensing is "no one else has copyright in this work". Good clarifying question.
>It's a little fuzzy because you can have opensource projects that make money
As I see it, the purpose of copyleft is not to prevent anyone from making money; if someone does want to use a copylefted work to make money, they'll just have to play fair and release their source code under the same license.
In other words, what copyleft prevents is predatory use of "open source" which involves taking eagerly without giving back.
Right, but doesn't this ends up giving SaaS and server side businesses a weird kinda-nonsensical advantage?
I'm thinking, say you make some innovative new algo using GPL software. If you try to distribute it to your customers you end up having to give away the "secret sauce". You'd have no business b/c anyone can just take your work and recompile it
So you only have two solutions:
1 - You run it on your own servers and just provide an API to the "cloud" (ie. what Facebook/Google do with the majority of their software) Then you don't have to share anything!
2 - You redo all the GPL ground work and work from the smaller pool of more permissively licensed software
So maybe that's why "cloud" solutions are so huge now? They can reap all the benefits of the GPL world and keep their competitive advantage. But my bigger concern is that there seem to be whole classes of software that can't be put into the cloud - and they're stuck making peanuts (providing "customer support" or whatever companies like RedHat do) or having to do a lot more work. Meanwhile the talent pool gets sucked up working in the cloud b/c it's easier money
I'm probably going to step on some toes here, but I have essentially the same concern when it comes to "getting rid of software patents". To me the net effect seems either everything just ends up getting hidden in the cloud or being economically unfeasible.
Of course, Service as a Software Substitute (SaaSS) providers could hide their use of AGPL code. But the owner of that code could promise a reward for whistleblowers. That would deter most predators from misappropriating AGPL code.
It doesn't. There's nothing a "license" can do to prevent that. If I own the copyright to something, and I license it to party A under license X and party B under license Y, that's perfectly legal. This happens all the time in the commercial world where big software licenses are often written per-customer. If you make one of those licenses a blanket GPLv3 grant to the whole world, that's perfectly fine.
Where it gets sticky is the "ownership" issue. This only works if you're the sole copyright holder. If you've taken contributions from community members to your GPL project, you can't then relicense those to anyone else without approval, of course. This is the big reason behind the desire on the part of big projects for copyright assignment aggreements. Even the FSF does it so they can migrate software to GPLv4 when needed.
No, to find the answer, fall back to copyright law. If you own the copyright to some body of code in entirety, you can license it under as many licenses as you want. GPL for the community, proprietary trade-secret in exchange for money, and everything works fine.
But.... if you take a pull request from someone, either they have to sign over copyright to their patch, or else you have to involve them in every relicensing negotiation, because now they are a copyright holder, too, in the work.
There was a time when it seemed inconceivable that developers would be motivated to release code under MIT or BSD style licenses that lacked the "viral" distribution obligations of the GPL. Back then, it seemed obvious that a healthy open source community was going to need to force "borrowers" of the code to contribute their improvements in order to avoid freeloading. However, the reality is that plenty of healthy open source communities exist on MIT style licenses and even include corporate community members who are willing to subsidize improvements that get merged into the public editions. In this way, the "failure" of GPL is a story about people behaving well as a community without needing to have legal whips cracked at them
Damn near everything on npm is MIT licensed. Generally, that's cited as a thriving open-source community. I don't know that that Cambrian explosion happens if people have to deal with the cognitive and legal costs of fussing with the GPL.
The last time I went through my employer's process for releasing an open source project, the attorney assigned to our case emailed to ask if we really wanted to choose the GPL, as we'd stated on the application form, because getting approval for MIT or Apache was going to be quicker.
We advised that yes, we did want the GPL, and indeed we didn't run into any further problems.
Keeping up the good fight in the midst of a megacorp, one tiny little utility at a time...
Anecdotally, part of the reason why is the lawyers I've talked to don't feel like FSF have offered enough clarification regarding legal concerns, and the hostility of the community.
When the community will burn you to the ground for inadvertently shipping a binary without code, even after you've apologized and shipped the code, why would legal want to bother with them?
There's been half a dozen knee-jerk $XYZ Corp is in gross violation of the GPL! headlines here, only for the conversation to go "No, they're not. Go away."
Look at the SystemD thing and countless other situations. The mantra is "open and welcome and use our stuff!" Then they go all Walter if you slip a toe over the line.
Neckbeards need to get that they're responsible for the apprehension. It's another form of tribalism. You either need to be perfect in how you fit in, never err, or we'll figuratively tear you a new one.
Comparing the mid to late 90s with today it seems hackers have on the whole become more commercially minded. Back in the 90s there was a more idealistic and 'punk' ethos surrounding the hacker scene with documents like the Hacker Manifesto being a thing people actually believed in and aspired to. The GPL fit right into that.
Then the world changed a bit and all of a sudden people realized that you could become both a millionaire and even a billionaire as a software developer. And do you know what's cooler than being part of an idealistic punk scene? A billion dollars!
Now licenses that got in the way of you making money weren't as attractive anymore. And licenses that made it easier for you to make money off of software written by other people became the new hot thing.
That at least is my naive take on what I've observed over the past 20-odd years.
I'll offer a little counterpoint to that. I had known 'free software' as shareware until ~2001 when I had my first introduction to Linux. I was very curious, and took to open source software AND the ideals very easily.
Because of my experience as a teenager poking around operating systems, fixing xorg.conf files after compiling nVidia drivers, and running and using thousands of different software applications - tools for many many different jobs I had never been exposed to before. I consider open-source being an education I received that has helped me to use computers and software today.
Because I have benefitted so much from open-source, now that I'm in a position where I can write and release software I am very motivated to give back to the same community that first gave to me. I hope that by producing work and releasing it to open-source I can help build up those who follow in my footsteps - and that's a richer treasure than dollars in my pocket.
Having said all of this, I can't choose GPL for giving away my own software because the viral nature of it feels like a chain letter. It leaves a really bad taste in your mouth and I wouldn't want anybody to feel compelled to pick between using something I'm TRYING to give away for free and having to GPL their project, or not be able to use something I'm trying to give away for free just because of the license. So I keep choosing MIT, which basically says: 'you have to acknowledge that I wrote it, and you can't sue me because of damages you got from using it' but leaves pretty much any other use (even commercial reselling) open.
I can't imagine anybody looking at a piece of code under MIT and having objections, or a reason why the license prevents them from using it - and THAT is the point of free software to me. GPL software is arguably LESS free than the more liberal licenses :D
You had me up to the end of your third paragraph, then you dropped off a cliff.
You're free to believe and think what you want, of course, but the whole point of the GPL is make sure that the code is "paid forward", and not locked up somewhere along the chain.
The GPL is there so that future up-and-coming curious kids can see the code, and learn from it - much like you did.
I grew up in a slightly different world. The GPL first came about in 1989; I was a sophomore in high school, and had no idea about it. The "free software" code I learned from was printed in magazines, that you typed in. As time wore on, though, something along the line changed - code to type in was getting less, and proprietary was growing. I held some of that at bay with my Amiga (which still carried some of the spirit in the magazines of the time), but still change kept coming.
Several years went by, until in about 1995 I was introduced to Linux by a friend of mine (who, interestingly, I met via a 2600 meetup) - and also to the GPL by extension. Here was an entire operating system I could see the code of! Amazing! It was all there - out in the open - for me to play with, learn from, and modify as needed or desired! Freedom! All I had to do was agree to pay it forward...
...and I'm ok with that. I don't want a younger person like me to be stuck in the dim place again, without access to the code to learn from. I also want them to experience the thrill of having the code available to work with. I don't want anyone - myself or others - to take that away.
And believe me, if a corporation really wanted to, they could work to lock up non-GPL'd works. All they need to do is become much more popular, and let the original work wither on the vine. It may take decades for that to happen (BSD vs OS-X?) - but it can happen. They can wait. But that kid 50 or 100 years from now? What about him or her?
Well I would consider licenses like MIT, LGPL, and some of the CC licenses to be _more_ free than the GPL, so I expect more MIT and public domain code will survive and continue to be used and available for those people in 50 or 100 years :)
Not everyone was Hacker Manifesto kind of hacker, majority of people were not - including those into open source. While Hacker Manifesto is attractive to some, it was also off-puting to others.
For one, these kind of people would hide `rm -rf` into advice to clueless newbie that just happened to be around. I have seen enough in this category to have no illusions about them being driven by curiosity. Basically, if I would be hanging around them and bad things happen to me, it would be my own fault cause I knew it may happen. For the other, I preferred less arrogant engineers to hang around.
I mean, they had no problem harming someone they don't know for their own fun, but oh my god someone else wants earn money by working. Nah, when they catch him hacking atm machine, they just hate him cause he outsmarted them. Nothing to do with missing money.
I know that FBI went overboard multiple times and is not exactly clean in its methods. I know that FBI attempted to criminalize stuff that should not be criminal. But hackers were not just curious innocent kids.
Don't confuse software developer or entrepreneurs with hackers. Hackers haven't changed - they are still out there, they still exist, and many are displeased with some of the ways things are turning out.
The main reason for this in my opinion is that the fear free software had of permissive licenses in the 90s by an large didn't come true.
The GPL is excellent to guard against the sort of embrace, extend and close that the GPL prevented when it came to GCC, Emacs etc. back in its day, but would likely have otherwise happened.
Times are different now, and while there's still some of that going on (e.g. Sony with FreeBSD) for the vast majority of free software out there companies see no point in maintaining some value-added fork, it's just going to cost them money. E.g. SQLite & cURL are a good example of this.
Nowadays your project is much more likely to die because of overly restrictive licensing than because some company steals it from you and refuses to give back. Imagine how much smaller SQLite would be if it was GPL 3 instead of public domain, ditto for cURL.
Neither you nor I can know what tomorrow will bring. But should it revert back to the old status-quo, what then? What if these self-same companies take all of the nice BSD/MIT/non-GPL'd code, package it up, make it better - so much so that people prefer it over the original! - and sell it, and make a mint off it, and it becomes much more popular.
They continue to extend it, but never give anything back to the original authors, and perhaps the original project dies from lack of use by people, and faltering participation of developers because no one is using it.
So now - wonderful open source software goes from being open - to closed and proprietary. The users don't care - they are getting great value for their money, right? But the software, which was once open and useful for the developers, is virtually gone.
Don't think it could ever change back to this? Don't be a fool. Maybe not in 5 years, or 10 - or maybe it will!
History does repeat - or at least echoes loud and clearly. Being prepared for such a possibility is better, in my perspective, than assuming the way things are today is the way they'll always be going forward.
I would not use GPL for my projects, because I can not use GPL licensed libraries in work. We use plenty of Apache licensed libs, therefore when I did open source contributions I contributed back to that pool. It was no brainer to me.
I also like the freedom in it - GPL is a bit about forcing people to do things your way because ideology which is attitude I find offputing. Apache is less political and more giving - here is a thing use it.
What does that have to do with anything? OSS and tech generally likes to praise itself as more rational fact based, but demagoguery is sometimes downright ridiculous.
If I distribute open source library under GPL, the advantage of GPL is supposed to be that users of my library have to provide source code to their users. Making it "viral" and preventing them to do close source business. It was written this way because of ideology authors had - treating open source as moral value.
That's just the thing: software freedom does have moral value.
Power imbalances are abused. That's how you end up with stuff like nsa backdoors. Software freedom helps fix the power imbalance between users and developers.
That is kinda like saying that letters being private make it harder to caught terrorists, so we should make it question of morality to make all letters public.
I find it offputing when a business put people in jail because someone shared a exact copy of a program. That ideology is a large part why people put their work under gpl. As a fact, no person have ever been sent to jail for sharing a GPL'ed software with a friend. If you oppose people getting sent to jail or given fines that will last a person a life time, then it perfect rational not to help companies that do this. Some add clauses which says "do no evil", others put common legal obstacles so the practical results will be that code aren't used by them.
FWIW, both Los Angeles County and the City and County of San Francisco are leaning towards GPL for their open source voting system projects. And these are new, ambitious projects just starting out.
For software I've written while working at companies I didn't have control over the license choice, but for that which I've written voluntarily nearly all of it (and there's quite a laundry list now) is under GPL or AGPL. This is because, as some other comments have mentioned, I want any other users of the software to have the same capabilities to change it as I did. I don't want there to be secret proprietary versions which then get distributed in closed form denying the potential for participation.
The ability of users to have genuine control over their systems has been under sustained attack for a long time. I may be only one developer but at least I can make a small ding in the dark empire of bad software practices.
I could be inclined to use GPL if I made some end user application rather than library code. Simply because I'd prefer the project not to be forked. If someone invents a great feature for my app, I'd like that to be either merged or killed, not merged into a fork.
The problem of the GPL is that it assumes that infinite forking of software is a good thing (more choice!) when the opposite is normally true - it's better to have ONE project that isn't perfect for anyone, but that is easy to find and actively maintained, than it is to have a large number of forks each with the pet feature of different users.
For library code it's a different story. If I write a library I'd hope to get commercial use of it. I suppose you could argue that in that case you should be using the LGPL rather than BSD/MIT/CDDL/Apache, but I honesly think the LGPL is underused simply because of it sounds a bit like GPL and it makes people nervous.
True, but this is typically a good thing in my opinion, the code remains fully open all the same and the developers/userbase will determine which project is the better.
>I could be inclined to use GPL if I made some end user application rather than library code.
This very much mirrors my own preference.
For popular end user applications there is a clear motive to do proprietary forks with extra features, which would lead to the original open project either lagging in features or having to spend effort in recreating the features of the proprietary fork while the latter can continously take any new features from the open project.
For libraries/frameworks however, there is little if any real incentive for proprietary forks since it will be hard get developers buying into that.
A lot. I don't remember a exact study on popcon top 100, but just going main top 5, let see.
top 1: Gnu sed. License: GPL.
top 2 (if you ignore libs): base-passwd. GPL
top 3: GNU core utilities: Mostly if not exclusively GPL.
top 4: debianutils: SMAIL GENERAL PUBLIC LICENSE
top 5: dpkg: GPL (got bsd parts is distributed as a whole under gpl).
http://popcon.debian.org/main/by_inst if you want to dig through it. A lot of the top is part of base install. Further down we got things like wget, which surprise surprise, is gpl. Could always try to make a debian machine without udev, which is GPL. Honestly, making a debian installation, using debian main archives, without any copyleft'ed software would be a nice project just to see if anything resembling a function operative system would remain. One would have to start by using BSD kernel (which is supported), and go from there to try mimic a bsd operative system.
I've always likened GPL promoters and promoters of the more permissive licenses to conservatives vs liberals.
GPL users are more worried about someone taking and not giving back. Other license users are more worried about lost opportunity to proliferate. In the same way, conservatives are more worried about bad behavior among their fellow citizens, whereas liberals are more worried about lost opportunities for their fellow citizens to grow and flourish. In every endeavor, there is risk and opportunity, and they must be balanced somehow. Conservatives err on the side of reducing risk of bad actors, who can spoil it for everyone. Liberals err on the side of reducing lost opportunities, which prevent us from going forward as a whole.
It's also why I won't argue in favor of one over the other. You'd have about as much success arguing in in favor of liberal ideals to a conservative, or conservative ideals to a liberal. Their reasoning is emotional, which is why it gets uncomfortable real fast, and they dig their heels in, pulling all sorts of "facts" to prove their side.
To put it in a more positive way : GPL users think about others first and themselves second. Anti-GPL people think the other way around. I wouldn't say either is good or bad, but I'd say they sure don't mix well together.
But frankly I didn't mean to make it sound better. I truly think that some people think for themselves first and for the others second. It's not a matter of selfishness, it's a matter of direction. I can think about many people who were positive for the society in both categories. And I'd even say that we tend to change our "colour" every now and then.
For example, many private companies are greedy, but it doesn't stop them to provide good things to me (it'd be better if they gave them away for free, but well, they have to make a living too). I'd say GPL is the other direction but as many mentioned, although we may like the idea, we have to recognize that the success (and therefore the value for society) is not exactly massive.
But you're right I'm rather "pro GPL, anti capital and maybe a bit of an anarchist too" :-) But well, it doesn't prevent me to work on commercial things and GPL things :-) The fact is that it's very tough to discuss political ideas without getting too involved.
Your observations don't correlate with the actual political opinions of prominent advocates of what boils down to the ages-old free software vs open source split. You don't need to look further than ESR for a striking counterexample.
Well I certainly agree that nobody should take him seriously but I'm unconvinced that that matches up with reality. His blog does get a lot of comments.
Actually, no. I'm not talking about open vs closed source. I'm talking about HOW the source is open (GPL vs BSD et al). ESR is mostly a centerist when it comes to that.
Neither was I? "Open Source vs Free Software" is exactly about BSD/MIT/... vs GPL. As a cofounder of the OSI, ESR is most certainly not a centrist on that. To quote Wikipedia on the OSI: "The Open Source Initiative chose the term "open source," in founding member Michael Tiemann's words, to "dump the moralizing and confrontational attitude that had been associated with 'free software'" and instead promote open source ideas on "pragmatic, business-case grounds.""
> Surely the number of users using the software is the best metric?
no.
> Or the number of lines of code under the license?
no.
> Or the number of committers collectively working on projects under that license? Or the number of published articles advocating for it?
sorry, no and no.
If I sold cars, and you asked me how popular my car is, the only metric would be, how many did I sell (not how big is it, or how many people it took to build, or how many articles were published about it). This is not a hard question. You can count projects on github and elsewhere and what licenses they are using and that's your answer.
the GPL is declining for reasons the author points out, that GPL doesn't work for libraries and frameworks: "For developers mixing ingredients from multiple origins – frameworks, components, libraries – reciprocal license requirements increase the uncertainty rather than decrease it."
What he fails to quote a statistic for (and I'd be curious to see) would be what percentage of open source projects are fully realized applications (like LibreOffice) vs. libraries/ frameworks (like the enormous number of libraries for Python, Javascript, Ruby, Go), and how has that number been changing over the years.
Years ago I was planning to release SQLAlchemy on the LGPL and I was quickly talked out of it, reminded that the langauge of the LGPL is archaically focused on C-centric concepts like linkers and that it scares the crap out of legal departments. I haven't looked since but it seems like Gnu hasn't improved upon that situation. The author refers to open source as " the “safe space” in which developers with an interest in a piece of software, for whatever reason, are able to collaborate over its evolution without the motivations of others impacting their own usage." - for me and probably most other people, that's a BSD-like license, so that all your collaborators who are after all using your software to produce something in-house at their place of employment, can freely use and contribute to your software without them being hindered by their company legal departments.
> Deciding which is dominant may well be a matter for your ideological biases rather than an objective absolute.
No, it's really not. That's what objective means; that you count the numbers and acknowledge that one number if bigger than another, by a significant margin.
> If I can pick my own metric, I can prove anything!
Sure, but there are some pretty solid metrics that no one is going to argue you're 'fudging the numbers to suit your bias on'. For example:
- Total number of projects with a given license.
- Total number of dependencies on projects with a given license.
- Total number of new projects with a given license per year/month, normalized.
- Total number of new dependencies on a given license per year/month, normalized.
What is this rubbish about deciding which license you like the most because you think it has some kind of pretty ethical features, or calling it 'copy left' vs 'reciprocal behaviour'.
You're just muddying the waters and making people who support GPL look stupid.
Statistics can be jimmied to show a specific tale, its true... but you know what?
A bunch of graphs, a raw data set I can check myself and a repo with the software that generated the graphs; I'll believe what I see in that any day over some arbitrary talk about how you can't really ever believe anything because heck, everyone has a bias.
Hand waving is a lot easier than actually digging up data and checking the numbers; but it's largely meaningless he-said-she-said-they-said.
A little while ago I met some folk who were absolutely convinced that hg was winning the hearts and minds of people around the world (over git). They were and are wrong. So is this post. ...yet people continue to argue the point.
I think it's easy to end up trapped in a bubble where all you see is people who agree with you, and you can't see what's really going on.
Everyone now and then you actually do need to dig through some hard data yourself and reevaluate your own assumptions I think...
BSD/Apache-like licenses are getting most of the traction, because of GPL "viral" issues, e.g. you can not ship GPLv3 Ghostscript with your product, even being "free", as it is not redistributable (the option is to tell the customer that Ghostscript is a "pre-requisite"). Although I have to recognize that 20 years ago I was more idealist than now, I'm not against the GPL, but against using the GPL not for freedom or sharing back modifications, but as a maquivelic vendor lock-in (e.g. spending $$$ in legal advice and some times not being 100% sure if using something is safe or not because of contradictory things).
How do investors view a startup that only builds GPL licensed software. Eg- Let's say Gitlab used only GPL, would it be a major red flag to investors? What about businesses, would they be willing to be buy GPL licensed software?
Any examples of startups that only build GPL licensed software?
When we went to raise money for RhodeCode which was GPL at that time, it was no issue for investors. Nowe we're AGPL and switching the license was no issue for current investors too.
Also so far no questions about AGPL beeing a problem for our customers.
> The use and support of the GPL has grown with it, but new strengths have also emerged related to corporate adoption of open source, leading to stronger growth of associated approaches to licensing.
TL;DR: Although we're trying to hide it in hundreds of lines of weaseling and CorpSpeak, yes, it's dying.
I am a huge supporter of GPLv3 and license most of my open source work with it. Still, the Linux kernel has been famously v2, and macos has removed as much v3 work as possible (to the point of using very outdated versions of many packages including bash).
Things like CLang/LLVM, and don't get me wrong, they're technologically amazing, still have a huge focus of not being in the GPL world.
Back in the early 2000s, the hardcore FSF people dreamed of a work with OSS replacements for Photoshop and every other major tool people felt they needed in the closed Win/Mac world. That never really happened:
> Things like CLang/LLVM, and don't get me wrong, they're technologically amazing, still have a huge focus of not being in the GPL world.
This is one of the key things.
Generally, I see that BSD/MIT/ISC/Apache licensed software is made by people who just want to make amazing things, and let other people make amazing things with what they've made. The license is just a way to make their code (which is the focus) available to anyone, without legal questions.
For GPL, it seems like a lot of people (including RMS) value the license more than absolute code quality. They would rather have worse software, under their idealogical license, than use better software under a less restrictive license.
> For GPL, it seems like a lot of people (including RMS) value the license more than absolute code quality. They would rather have worse software, under their idealogical license, than use better software under a less restrictive license.
RMS wants free software to be as good as non-free. He realizes that takes a lot of work, which he has dedicated his life to. We all realize it takes a lot of work, the difference is, some of us are willing to put in the work.
That said, sometimes the "ideology" behind a thing is important. Personally, there are certain products I don't buy, certain companies I don't endorse, becaues I don't want that blood on my hands.
And yes, BSD is a great license for people (companies) who just wants to profit off others' (work) and never give back.
Which is the perfect way of having an ideology. An ideology is about ideas. The fact that it is realistic comes second (and that's good, because most of the time we would debate on the impracticality of it until death, accomplishing nothing)
I find this schism very interesting. You have a lot of people now harming the GPLv2 communities by being nice. For instance there is a noticeable push for projects to go Apache which is GPLv2 incompatible.
OpenSSL is famously GPL incompatible but now it's only GPLv2 incompatible. Likewise all GPLv3 code is GPLv2 incompatible so you effectively have two worlds that both have similar goals but cannot share code work together. This is particularly striking in the Linux environment where the kernel is v2 licensed and the user land pushes really hard on GPLv3.
It boils down to a philosophical question about whether
"tivoization" is good or bad. I am with Linus on this, I believe it is nothing wrong with it and I therefore doesn't support GPL v3.
There's nothing wrong with a world in which most citizens simply cannot control and modify most of the products they own? When everything runs software and communities of people can share ideas / updates that make the products better, you think there's nothing wrong with artificial restrictions that block people from doing this?
Think of Stallman's initial story: he could program the printer upstairs to tell users over the network when it was jammed. But with the new version of the printer, he couldn't get the source code. A Tivoized printer would give him the code and then refuse to run his modification. So, you think there's nothing wrong with "screw you, you can go all day and find out only hours later that all your prints failed, even though you know how to fix this"? That's what Tivoization does, and this mild example is just a very mild one. It could be hell of a lot worse.
I'm not sure GPL v3 is a failure, but it has created a really bad taste -- at least 3 times I've been unable to link GPL V2 and GPL v3 code. In one case I reimplemented one piece of code, in the others I went in search of a BSD library instead.
Take this with a grain of salt. If you can prove that you project can work without the GPL V2/V3 code being present (eg... the GPL code isn't a major contributing factor in the working of your program) then it stands that under copyright law (Here in Australia) that it isn't a Derivative work and thus not infringing on the copyright owner.
Playing it safe GPL V2, give credit to the source code in your credits page and push back any changes you've made to their original source. GPL V3, you're kind of screwed (even linking) that you need to adhere to their license agreement and have your source code open source.
Personally for open source projects I use GPL V3, and leave a comment in the license agreement the business can contact me for a difference license that comes with support contract.
To be clear, my problem isn't linking GPL and non GPL code, it is a GPL V2 project, wanting to include GPL v3 code! Same way the kernel can't merge GPL v3 libraries.
No, the dupe detector was changed about a year ago to allow for resubmission of articles that failed to gain traction. If you have questions for the mods, email them. Discussing the dupe detector is off-topic and boring.
This is all I could quickly find: https://news.ycombinator.com/item?id=10203933. This change was just to bring the software in line with the FAQ, which has mentioned this since 2014.
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.