Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

https://www.gnu.org/licenses/gpl-faq.en.html#SystemLibraryEx...

The GPL carves out exceptions for the use of system libraries.

But, as for the "dangerous" part:

* I work in an industry in which software patents are required to survive. Personally, I hate software patents, but it is a reality until the law changes. As such, the GPL invalidates patents, making anything GPL completely off limits. That means that I would not have a job, and then there would be fewer competitors in the marketplace, which would make prices rise considerably. Too bad, too, because we would donate back improvements that are general enough to benefit others. Rather, now we just use proprietary solutions wholly because GPL is a minefield for us.

* I have personal projects. I write code that I want to use myself as well as allow others to use. I use MIT because GPL discourages that somewhat (the point above). I may want to use my personal projects commercially some day. MIT allows that; GPL makes it impossible. In other words, if I choose GPL today, I have poisoned that code from myself for the rest of my life.

In short GPL is not "free" as in freedom, because it comes with strings attached. It's communist in philosophy, but I hesitate to say that because then everybody jumps to some *a priori* conclusion of what they are now convinced that I'm saying, without listening to what I'm actually saying.

GPL says, in short, that the software is freely available for public use, but not for private use. (Yes, there are nuances to that, so much so (and so confusing) that most people either just ignore it, or say "IANAL...") It demands that 100% of the work of anyone in the future must be donated back to the collective for free. That is not freedom.

Create as much GPL code as you like. I create MIT. You can use mine (and I'm happy for you to!), but I can't use yours because of the restrictions you put on it. We can let the future decide which is more "free".



> if I choose GPL today, I have poisoned that code from myself for the rest of my life

If you're the copyright holder, the terms of the GPL don't apply to you. It's a license that you give to other people. You can't revoke the license, of course. But as long as you haven't accepted contributions from other people, you can "fork" your own project and take it closed-source.

(I agree with your analysis in general. Most people don't understand the restrictions placed by the GPL.)


Yup! Thanks for pointing that out.

And that was my thought in general... I want to write projects that others want to contribute to, without painting myself into a corner.


IIRC, it's not about private use but about distribution. We publish libraries under MIT, since other corporate users would very likely need to distribute those.

But the higher-level Apps we publish under GPL, so that downstream is obligated to keep it open-source (but there is no obligation to submit a PR upstream).

And there are more than a few companies that use our GPL stuff, internally and don't redistrubute and therefore don't have to make their internal modifications available under GPL -- because there is no distribution happening.

I'm not a lawyer but our decision was informed by one who has prior experience in IP, licensing and specifically FOSS-style licenses.


Yes, distribution is the key.

Suppose that my company has powerful video editing software that we sell (which is distribution). Consider that it has unique functionality and has taken a decade to develop by a team of developers, all of whom have salaries, insurance, retirement, etc. that need to be paid, otherwise the software would not exist. Proprietary code and profit are more than appropriate in this situation, as I believe that workers should reap the reward of their labor and investment.

Now, suppose that a new feature is wanted. There is a project that provides that functionality, but it is licensed GPL. Can I use it?

Absolutely not!

Because, if I do, then I am obligated to release all of my source code in addition, because it integrates with the GPL code. It is financial suicide for my business to do so (which, btw, is a political preference for many of the GPL proponents). What will I do instead? I will probably just have my developer write our own version, adding in the extra features that we need.

Contrast that with the MIT-licensed code. We can use it without fear, and we will probably even submit enhancements back to the project, simply because it makes our lives easier in the future for maintenance.

GPL poisons downstream, simple as that.

You are correct that there is no obligation to submit a PR upstream, but there is a requirement for my source code to be made available under the same GPL license. GPL is "infectious" (or "viral", take your pick of words).

The funny thing is, I believe in freedom with software, but my interpretation of "free" is vastly different than the GPL interpretation of "free". And, as I said, I put my money where my mouth is... almost everything I write (except for my job) is MIT licensed code.


It's really weird that you describe requiring reciprocation as poisoning downstream. Proprietary software also doesn't allow you to just incorporate their code in your proprietary software and distribute it. Nobody described plain jane closed source software as "infectious" even though by any reasonable definition it is vastly more so. Open source software will let you remediate the situation by removing it or open sourcing it without penalty while closed source software if incorporated without following the license will see the owners lawyers crunching your bones to suck out the marrow. If GPL is a cold then proprietary software is ebola.

In the overwhelming number of cases the party is selling something other than their software and you are equally free to negotiate a different license with the developer if you have different needs.


I'm not aware of any closed source software that supplies you with source code. (Although, in contract negotiations, it is common for source code to be held in escrow for large $$$ contracts, but that is for a different perpose entirely).

Also, suppose that you were to write something that interacted with the binaries of a closed-source system. That would not automatically remove the proprietary nature of your own software, so it is not infectious at all. You may not be able to distribute the proprietary software, but you could sell it as an add-on product without surrendering your IP. That's not ebola. That's a full quarantine and separation that respects the IP of individual owners.

GPL is particularly troublesome when it is a dependency of a dependency of a dependency of a dependency. You may not even know that you are using GPL code because the dependency that you are intending to use is not GPL. Again, the words "viral" and "infectious" are used because of this behavior... And this behavior was purposefully designed into the license as part of the political beliefs of the founders.

I'm not saying that GPL is useless, but rather that it is significant and potent enough that it is a single factor that will eliminate a project from consideration. Period. No if's, and's, or but's. So much so that I personally avoid GPL as much as possible in my own projects, and I distribute my projects as MIT.


> Also, suppose that you were to write something that interacted with the binaries of a closed-source system. That would not automatically remove the proprietary nature of your own software, so it is not infectious at all. You may not be able to distribute the proprietary software, but you could sell it as an add-on product without surrendering your IP. That's not ebola. That's a full quarantine and separation that respects the IP of individual owners.

Unlawfully including GPL code in your proprietary product doesn't magically make your code GPL. It can't. In fact it has the EXACT SAME EFFECT as including proprietary code it means you are committing copyright infringement by distributing the combined work. The ability to get out of jail free by complying with the GPL and releasing the combined work under the GPL or just replacing the code you never had the right to distribute without further drama or penalty are extra privileges that you will never receive if you decide to distribute proprietary software. You are confusing additional benefits for penalties and pitfalls.

Once again you don't have to release your code as GPL you can simply rewrite the portion that you didn't have a right to distribute.

> GPL is particularly troublesome when it is a dependency of a dependency of a dependency of a dependency. You may not even know that you are using GPL code because the dependency that you are intending to use is not GPL. Again, the words "viral" and "infectious" are used because of this behavior...

If you are responsible for a product knowing where the code comes from falls under the basic responsibilities of the job. Declaring in public that you own someone Elise's property because you couldn't be bothered to look is like catching a public indecency charge because you couldn't remember to wear pants that day. You put on pants and the problem goes away.

If you have followed any of the cases in which companies misused GPL code it looks metaphorically like someone following you around politely and repeatedly reminding you to cover your nudity whereas infringing on proprietary code looks more like a swat team showing and flinging flash bangs. If you are lucky if you don't end up getting shot.


Again, it's quite difficult to get access to proprietary source code, so that is a false equivalence. I'm not confusing the benefits for penalties... I'm observing the emergent behavior that the GPL license produces by its viral and infectious rules. The strength of the legal threat has not been tested in court, to my knowledge, but why risk a lawsuit? And there is still the patent issue.

In terms of marketing, GPL sets itself up to be the paragon of the open source spirit and the model that all open source licenses should follow, but it has a HUGE gotcha based on its political persuasion. It proclaims freedom, but it is most decidedly not completely free, and requires parsing of sophisticated legalese to understand the nuances. Good luck if you are a beginner, non-native speaker, or have otherwise spent substantial brainpower trying to understand the do's and don'ts. It will bite you.

You may absolutely love GPL and everything that it stands for. That's fine with me. But I don't, and I advise everyone that I know of the dangers and repercussions of using GPL dependencies. You can say that those are features and virtues, and I can say that they are dangers and liabilities, but the bare facts are the same.

But, getting back to the reason for this post, when I want to compare software packages, the license is the first thing I look at, and if it's GPL, I bail on it immediately.


The GPL isn't viral its a simple bargain you can pick up or leave without also agreeing nor disagreeing with anyone's politics. There is no "danger" of any kind whether you can or cannot use GPL software is a trivial matter. If you are distributing proprietary software then you cannot. Foregoing software as a user because it is licensed under the GPL makes even less sense. The GPL simply doesn't restrict use in any fashion. It's like saying if I find out my a brands clothes was sewn by people who drink milk I bail man I'm lactose intolerant! It's a basic misunderstanding of how things work or a weird hang up.


> I work in an industry in which software patents are required to survive

Thanks for the explanation! I wonder what the industry is (maybe finance or law or ??) It seems that in most of the tech industry software patents are primarily used as a war chest for large companies or for non-practicing entities focused on litigation. Usually execution is more important.


I work in a suprisingly innovative industry... tolling!

Seriously, there's some surprising work being done in the field, and software patents play a big part for companies that are very active in the space.

It's like the stock market. A lot of millionairs have money in stocks, but so, too, does the average Wal-Mart employee (at least it was an option when I was a cashier 20 years ago!). In other words, even small companies can gain a competative advantage with just a patent or two.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: