8 ms·
>'The GPL isn't so much fostering or creating an atmosphere for open source development, it creates traps and makes it harder to use the end product. ' Of cour
by gillianseed 15y ago
>'The GPL isn't so much fostering or creating an atmosphere for open source development, it creates traps and makes it harder to use the end product. '
Of course it is, it actually ENSURES that the source code stays OPEN. 'traps'??
>'Isn't that the opposite of what you'd want as an open source developer, isn't the idea to spread your code as far and wide as possible, to have people use it no matter where?'
I believe a huge amount of programmers want to provide open source code to open source code projects, not for proprietary projects. Which is why GPL is such a popular licence.
Apple wants to incorporate open source into their proprietary products, that is why they don't like GPL. Apple sponsoring Clang/LLVM development makes perfect sense since they are stuck at gcc 4.2.1 due to not accepting GPLv3, and they will eventually need to update their compiler toolchain (gcc 4.2 branch is old).
Don't take me wrong, I think Clang/LLVM are great projects and although the compile speed advantage it had over GCC has diminshed greatly it's error reporting/diagnostics is really 'best of class' amongst the compilers I've used. The speed of the generated code lags behind gcc however, and it also lacks advanced optimizations such as pgo (profile guided optimization).
I look at it as a great alternative, but GCC remains my main compiler toolchain, partly because of the licence which ensures that all the enhancements done to it will be available to me as an end user but also because of the strong developer support it has from companies like Red Hat, IBM, Google, etc employing full-time developers working solely on GCC.
- stephth 15y agoI believe a huge amount of programmers want to provide open source code to open source code projects, not for proprietary projects. Why not? Worst case scenario, some people use their software without giving anything back. Best case scenario, improvements find their way back into their code. But none of this can happen if the license is prohibitive.
- smcj 15y agoBecause they have the right to decide under which conditions others are allowed to use it? Most of the time (depending on the project) commercial entities never give back anything nor acknowledge the use. Restricting access to exclude free-riders (and therefore giving those who contribute an advantage makes sense).
- rmc 15y agoWorst case scenario, some person/group/company takes you code and makes it a million times better. But keeps it for themselves.
- flixic 15y agoIt's their right. I really can't understand why people find this bad in any way. If they don't want to contribute, but they are capable of improving the code and making tons of money, great for them. Developer doesn't really lose anything.
- Angostura 15y agoIt's a philosophical issue. The original developer who uses GPL often thinks of what they are doing as gifting their work to the world. Having it sequestered into a money making project is rather like seeing the birthday present you bought for a friend sold on Ebay.
- streptomycin 15y agoScenario A: I make my code BSD. A company eagerly writes some proprietary improvements, and then goes bankrupt. Its code is a dead end. Scenario B: I make my code GPL. A company grudgingly writes some GPLed improvements, and then goes bankrupt. The community benefits from their improvements.
- ceol 15y agoThe company in scenario A isn't the same one in scenario B. If a company isn't going to contribute their improvements to a BSD project, what makes you think they're going to open-source their entire code base just to "grudgingly" use a GPL project?
- streptomycin 15y agoHow do you know they aren't the same company? Who said anything about "their entire code base"? As this article says, Apple distributes plenty of GPL software. Did they release their entire code base? Let me contrive a hypothetical, if it's still not clear to you... Imagine you're a ruthless corporation and you don't care at all about the open source community. There is an open source software package that solves 95% of a problem for you. If it's BSD, you will probably take it, write that 5%, use it, and not contribute anything back. If it's GPL, you will probably take it, write that 5%, use it, and then grudgingly release that 5% back to the community so you don't get sued. Note that I'm not saying GPL is always the best option and BSD is always worse. I'm just pointing out that, in your previous post, you miss out on one of the advantages of the GPL: it can encourage the release of open source code that otherwise would not have happened.
- nikcub 15y ago> Which is why GPL is such a popular licence. this may have been true with desktop software but it is a lot less true with web software - where MIT and BSD style licenses are much more prevalent. I think modern authors are more interested in others using their software unencumbered than they are concerned about some ideological battle or keeping software 'open'.
- streptomycin 15y agoBut GPL for web software is like BSD for desktop software. If you only are running it on a server and not distributing it, you don't have to release your modifications to GPL code. That's why the AGPL exists (but it is unfortunately unpopular).
- nikcub 15y agoHave a look at the top projects on Github and note that most (all?) are MIT or BSD licesed: https://github.com/popular/watched https://github.com/popular/watched Modern web developers don't seem to care and prefer to keep it simple. The GPL definitely hasn't adapted well to a web world.
- streptomycin 15y agoAgreed. I think the only time I ever saw Stallman pussy out on something was removing the SaaS stuff from the GPL3 and separating it off into the AGPL3. Without even the FSF fully behind Free Software ideals in the web world, things seem quite stagnant on that front now.
- bouncing 15y agoIn terms of JavaScript, using it on a website almost certainly counts as distribution. Imagine if jquery were GPL.
- gillianseed 15y ago>'this may have been true with desktop software but it is a lot less true with web software' Oh it still IS true with desktop software, as in applications. Here GPL is pretty much the de facto standard open source licence. I'm not sure what you mean by 'web software', web applications? If you are talking of frameworks/programming languages then those categories are indeed generally open sourced through MIT/BSD-style licencing or LGPL (where only changes directly made to the LGPL licenced code needs to be open sourced. >'I think modern authors are more interested in others using their software unencumbered than they are concerned about some ideological battle or keeping software 'open'.' I think 'modern authors' are being made aware of how companies are increasingly using or even basing their entire existance on open source but not contributing back at anything nearly the same extent. Worse, enhancements are being kept in-house thus requiring duplication of effort in order to gain those enhancements. I think keeping open source 'open' is absolutely key. In some areas it is less necessary to enforce this through licences, traditionally these have been programming languages, frameworks, single purpose libraries - generally code which serves as building blocks. It also depends on how much you are reliant on/hoping for external help. When Google releases a video codec or a programming language as open source then they aren't really looking for any contributions, they have enough man-power to develop it all themselves in the direction they so choose. They also have the man-power to match any features of proprietary forks. If on the other hand you are releasing something which you believe is promising but you need help with it, or you release something finished which can be better, then GPL/LGPL makes perfect sense as you will as an 'end user' be subject to any enhancements done to your code in the form of source code. Also, while companies undoubtably love 'using' BSD/MIT licenced code, when it comes to 'contributing' GPL seems favoured. Linux, GCC comes directly to mind as projects where companies pay developers to write GPL licenced code. Also companies who later choose to open source their proprietary projects generally seems to favour GPL, for example practically all commercial games which have been open sourced are licenced as GPL. This brings me to my last point, which is that GPL is great for cooperative development. This is perhaps particularly attractive for large players competing in a field where they want to cooperate on something, obvious example is again the Linux kernel where companies like Red Hat, IBM, Oracle etc compete for the same market but cooperately develop the base product (Linux). I can't see something like this ever working using a BSD/MIT style licence as then they wouldn't be legally bound to share enhancements.
- paulhauggis 15y ago"I believe a huge amount of programmers want to provide open source code to open source code projects, not for proprietary projects. Which is why GPL is such a popular licence." I really wish developers would stop calling the GNU "free". If you are restricting the end user (IE: you can't use this in proprietary projects), it's not freedom. The BSD license is true freedom.
- cgoddard 15y agoEducate yourself: http://en.wikipedia.org/wiki/Gratis_versus_Libre http://en.wikipedia.org/wiki/Gratis_versus_Libre
- paulhauggis 15y agoI've known about the GNU since it's inception. Do you honestly think I don't know about this? The GNU isn't "gratis" or "libre". This is my point.
- marchdown 15y agoHow is GNU not libre? Because the end user cannot run GPL'd software for certain purposes with no strings attached? I'm sure that the point you're raising has been discussed to death in a thousand flamewars, but I happen to be unfamiliar with them. Sorry about that. Could somebody please sketch out how this argument goes? I will outline my understanding so far, and I will use some jargon and concepts from CS, AI, decision theory and economics, please tell me if that makes me harder to understand: A1: Community effort is good when it makes people better off (as opposed to achieving some narrow goal). A2: Most software is community effort, so good software is that which makes people better off. The way to ensure that is to make software free. B2: Free? Then how would programmers gather resources necessary to support themselves why working in a capitalist economy? A3: Free is a toxic word. Let's taboo it. Instead, let's talk about what matters to the user who has already acquired software somehow without hurting the programmer: 0. The user has acquired the software without hurting anybody, and it's nobody's business how the software is used, in which manner and to what ends. 1. The user has some software but it's not quite enough to accomplish his task, so he creates the solution using everything at his disposal — and that includes other software he has. When software is distributed in a form that impedes understanding and editing it, this actively hurts user who is trying to reprogram or extend the software, which is a legitimate manner of use, because every manner of use is legitimate. 2. He wants to help other people (other economic agents), so he uses all the resources at his disposal, including software, to help them. This encompasses sharing software. B3: But this is a very skewed and simplistic view of economy. Sometimes success depends on hindering your competition (cf. minimax). Sometimes you have to hurt other people to secure your freedoms. Sometimes you have to manipulate the market, withhold information, not do everything in your power to reach the declared goal, not take risks, or take unreasonably high risks. A4: So what? There are some fundamental rights, and since they don't necessarily conflict, we should simply avoid situations where they do. When that's not possible, we should seek compromises. In the case of software, the right thing to do is to err on the side of more freedom, because otherwise the equilibrium will fall at the point where no further progress is possible, and we don't want that. B5: Say what you want, but I have I paid job, and my job security depends on me hindering other people's ability to do the same. The best way to do this is not to share the source code I have written. Oh, and by the way, I have an emotional attachment to it, and I cringe to think of somebody messing with it. It is also badly written and I would be ashamed to have it published, but I have no time to clean it up. A5: This is why we can't have nice things. B6: Most of hardware is closed source. There is a lot of nice hardware. Some of the nicest hardware is made by some of the most secretive organizations. So you're obviously wrong in your conclusion, and you must have erred in one of the logical steps in your argument.
- napierzaza 15y agoSo they are sponsoring Clang/LLVM? Meaning they are contributing to the software? So what's the complaint? They free themselves from the legal issues of having GPL3 and they contribute their changes to a project. Maybe it's not your favorite project...
- griotspeak 15y agoConsider also the possibility that Apple sponsored Clang/LLVM because was written in a way that made it nearly impossible to analyze code exactly as the compiler would. The separation of LLVM and Clang means that Static analyzer in clang is doing the same thing as when you compile.