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

Although Stallman argues otherwise, the nature of the GPL is really incompatible with how business is done in the real world.

If the GPL requires you to release source code, but the reason for your success is that you've found a clever way to do something that no one has thought of yet, doesn't that really put a damper on what people will try doing - because the invention is no longer yours and must be shared?



I'm confused by this comment:

  Although Stallman argues otherwise, the nature of the GPL is really incompatible with how business is done in the real world.
Red Hat deals heavily in GPL'd code that it writes and maintains. It is a major contributor to many, many GPL'd open source projects. Even where it cannot get patches accepted upstream, they maintain many year, massive patch sets to satisfy needs of corporate clients. How do you explain their success? The same is true, to a lesser extent, for SuSE, which has a major economic footprint in corporate Germany (and Austria and Switzerland).

And how about The Qt Company or MySQL / MariaDB?


The distinction I would make is between companies who are in the business of developing software and people who use software to help them do a thing.

Red Hat, Qt, and the rest give the core stuff they build away but make people pay for more complicated services and support. For them, that's reasonable and it works.

Now, if you're Goldman Sachs and somebody gets a hold of the code that runs your trading platform (which surely includes some open-source components) and tries to use it as the basis of their work at another company, that's a problem.

They're not in the business of selling software and paid people to develop something that supports the parts of the business that people can actually see. Allowing anyone to use that code simply based on policy gets problematic real fast.[1]

[1]: https://en.wikipedia.org/wiki/Sergey_Aleynikov

Just because some parts are open shouldn't mean everything must be and you can use it without repercussions. IANAL, but this is the basic reason why copyright exists, to make sure people can get paid for their work.


Sure, but I don't see the problem.

These companies can't use GPL code if they don't want to share those. If the reason they don't want to share is because they feel it would get in their way of making money, they can find someone to take some of that money in exchange for producing code that they can use that does the same as the GPL library.

For single copyright owner software, this might be the same code from the same owner, just under a commercial license. For free software you might have to implement your own clone. That's the prospective user and the software author being unable to agree on a price (the author wanting the release of the derivative source code), not any fatal flaw with free software.


The point is: can the ideal of the GPL actually work in the software development world?

The answer seems to be "no". You can't build a software development company around a GPL code base. You can build a support services company around that (like RedHat or MySQL did), but that's it. You can build a service company that uses software internally, like Google and Facebook and AWS etc.

But the idea that you can build and sell a piece of GPL software is a fantasy of Stallman's and no more than that. Free software has even helped encourage the software-as-a-service world, where no one owns even a copy of a propietary piece of software...


Should they then abandon that ideal and ensure there is no software that provides those benefits?

In a world without copyleft, I don't think many of the ecosystems we have today would exist. The alternatives are that this software doesn't exist (because there's no economic incentive to build a business to sell it), or it's permissively licensed and some random other builds a business off it and with the extra resources outcompetes the original.

I'd take a world with some free software over none, and I don't see any way to loosen the restrictions to make it more easily broadly commercially viable without causing its own extinction.


You don't need copyleft licenses to have free software. There is plenty of code that is written that is not a key differentiator, that people will still open source.

Parent mentions Goldman Sachs; their trading platform is not something they want to sell, nor want to give away. Their build system, their UI component library, their numeric libraries, etc, could all be things they don't feel give them a material advantage over their competitors, and so it makes sense to open source ('many eyes make any bug shallow' style of thing).

These libraries don't need to be copyleft. If someone else wants to extend them and turn them into their secret sauce, who cares? They lose the benefit of it being open source (those many eyes), but if keeping their modifications closed enables a business model that people want to pay them for, they're generating value. And that's something that copyleft -wouldn't- allow, but a permissive open source license (such as MIT) would.


You are technically correct, the best kind of correct.


> How do you explain their success?

Red Hat is a rare outlier.

The vast majority of business related software is not GPL, and cannot be.


Certainly consumer oriented stuff.

The thing notable about every company I've seen relying on GPL code is that what they sell are services/support. People pay Red Hat to be able to email someone when they have a problem. That's it. That's the business mode. Same with MariaDB (MySQL is a little unique in that it was purchased by Oracle, and I can't speak to Qt having no familiarity with it).

That works for B2B positioning, since the cost of support staff scales well when each new customer is worth thousands of dollars in revenue...and doesn't work well for B2C where the cost of support staff won't scale well when each new customer is worth a few bucks.


I believe Red Hat gets most of its revenue from subscriptions and maintenance/support. They don't really have an incentive to try and protect software they've developed; instead, they benefit the more of the software they maintain is deployed.


> How do you explain their success?

Release the source code in the most user-hostile, obfuscated, undocumented format possible while technically in legal compliance!


I remember a time when the then-independent CentOS was afraid to even reference Red Hat by name, instead referring to a large North American Enterprise Linux vendor. A bit too "he-who-shall-not-be-named" for me.


Even if you are correct, the point is moot because the GPL isn't there to protect business owners, but users.

A business can't just grab a bunch of free GPL software, modify it, and then sell it with a whole bunch of restrictions about what the user may or may not do with their product. The GPL ensures the user has the right to examine, alter, fork, or manipulate the product.

If that hurts a business because they need to restrict how their customers are allowed to utilize their product, they shouldn't be using GPL code to make their product.


you are talking about MIT/BSD clause licenses. GPL is "infectious". if you use GPL 3.0 code, you have to give FULL source to your customers on demand. you CANNOT use GPL code in a proprietary software because you couldnt release the source of a proprietary one.


This is the core of my concern about GPL - you can't make a distinction between open and closed because compliance requires you to give everything away.


> compliance requires you to give everything away.

Only if you distribute a binary. You can freely build GPL code into a proprietary network service. Plugging this loophole is the whole reason why AGPL exists. You can also freely incorporate GPL code into private internal tooling since a corporation is a single legal entity and no distribution happens among employees.


no. by using GPL code in your software, you are telling the users that. if you use MIT instead, no one cares and you can use the code anyway you like.

using GPL code REQUIRES COMPLIANCE, that is the only way to ensure the four freedoms. if you are not okay with that, like famously google is, they simply ban AGPL/GPL software from their organization and everyone is fine with that also.


MIT/BSD (at least without the advertising/attribution clause) are essentially public domain, identical in spirit to the WTFPL (whose entire body text reads: "just do what the fuck you want to.")

GPL actually restricts certain freedoms to preserve others. The "actually free" (public domain) licenses allow you to do things Stallman considers harmful, which he defines as a violation of user freedoms. In other words, his licenses remove the freedom to remove freedoms.


>GPL actually restricts certain freedoms to preserve others. The "actually free" (public domain) licenses allow you to do things Stallman considers harmful, which he defines as a violation of user freedoms. In other words, his licenses remove the freedom to remove freedoms.

i know what the "freedom" that GPL restricts. it is about using GPL code in proprietary software. thats all.

look at it from GPL POV. i am contributing to a GPL software which is free software (beer and speech), a person comes along and uses the freedom i gave in my license and uses that code in a proprietary software. now, the intermediate dev is free to use the code but their end users now suddenly find that they are using my code and yet the intermediate dev put proprietary license, thereby restricting their freedom.

i have a small question to ask for all gpl naysayers, why do you care about this intermediate dev's freedom and not about the freedom of the end users?

look at it this way. Apple took bsd kernel whatnot and made it into proprietary code. the license gives them the right to do that but what about end users. now they are forced to use proprietary code. Had apple used GPL code, they would have been forced to give source code to their customers and we would not be reverse engineering asahi linux like we are doing it now. it would have been as easy as linux is right now.


I don't like legal documents, especially ones that presume to tell me what I can and can't do. Therefore it would be hypocritical of me to license my code in a way that forces the developer to do certain things, or prevents them from doing others.

Sure I'd prefer that people release their changes, but am I their dad? Am I their priest?

People are free to do things I consider unethical; it is not my place to stop them. If I seriously consider the alternative, then I would be forced to commit to the idea of software-licensing as ethics activism: for example I might add a veganism clause to my license to prevent my software from being used by people who contribute to the horrors of factory farming.

To be clear, I'm not at all opposed to the spirit of the GPL! As mentioned above, I very much like it when people behave in the ways the FSF recommends. I'm just opposed to legally mandating such behavior, so I wouldn't personally do that.


> but the reason for your success is that you've found a clever way to do something that no one has thought of yet

If you are in this situation, you do not have free software.

The difference between free software and open source is the perspective. Open source comes from the perspective of the vendor. Free software comes from the perspective of the user.

Free software is about freedom for the user, everything else builds upon this first principle. It is possible that the licenses have defects. The license is an artifact. The four essential freedoms are the business requirements on which the licenses are built in top of:

    The freedom to run the program as you wish, for any purpose (freedom 0).

    The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.

    The freedom to redistribute copies so you can help others (freedom 2).

    The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
https://www.gnu.org/philosophy/free-sw.en.html#four-freedoms


> If you are in this situation, you do not have free software.

For some things, people eventually realize their advantage over keeping the rights is outweighed by making whatever you've done widely available.

The PDF format is another great example and we've seen a number of apps come up to supplement the core tech or implement features that Adobe doesn't care about but someone finds useful.


It is not the case that the words "free software" are defined by the FSF or GNU.

This is good old fashioned Orwellian language control. Many things are genuinely free software that do not fit the FSF's "definition."

They are not an authority on the language or all software.

Much of my software costs $0. That makes it free. I do not follow the FSF's demands. It is still free software, even though you found a link with a bullet list that says things.

None of these "essential freedoms" actually are essential to anyone but FSF people.


I'd call that gratuit software rather than libre software.

Using a most descriptive language sidesteps the English conflation of free and free.

North Korea is a very free country. Everything is gratuit, but it's not a free country at all, no libre


> It is not the case that the words "free software" are defined by the FSF or GNU.

If the FSF changed their definition to something that made absolutely no sense, then sure, the software community would rightly reject it. Until then, it's useful to have a clear definition for a term-of-art.

> Much of my software costs $0. That makes it free.

A car is heavy. A car is a machine. A car is not heavy machinery.

If you wish to refer to software that is made available at no charge but is not Free Software, you can use the term freeware.

Yes, the terminology is quite annoying on account of the two meanings of free, but we're stuck with it. This happens in many different fields.

> I do not follow the FSF's demands. It is still free software, even though you found a link with a bullet list that says things.

It is unhelpful to deliberately make non-standard (i.e. incorrect) use of accepted terms. It isn't about demands and agendas, it's about clear communication. To copy from an old comment of mine: [0]

In aviation, flap is a precise term-of-art, and is never used interchangeably with aileron, despite that an aileron is plainly a kind of flap (in the colloquial sense). If you adopt your own definition of flap, to refer to both flaps and ailerons, no-one is going to sue you, but no-one is going to know what you're talking about. Your use of the term will be considered not merely different, but wrong.

On the other hand, you could try telling a physicist that you consider the words power and force to be interchangeable. They're not going to sue you, but they're also not likely to entertain your deliberate misuse of standard terms.

On the third hand, you could try insisting to a soldier that machine gun refers to all automatic weapons, rather than to a specific subcategory. They will inform you that they are aware of this colloquial use of the term, and that their more precise use of the term remains a standard, and reasonably clear, term-of-art.

In no instance is there any question of Orwellian control.

See also similar discussion of the term Open Source [1].

[0] https://news.ycombinator.com/item?id=25835994

[1] https://news.ycombinator.com/item?id=25372630


> If the FSF changed their definition to something that made absolutely no sense, then sure

No.

The FSF does not have "their definition" of common words and phrases that predate them by decades.

This just doesn't belong to them. Period, full stop.

.

> A car is heavy. A car is a machine. A car is not heavy machinery.

That's nice.

This phrase meant what it said on its face for 30 years before Stallman showed up with an editor he stole and an operating system he stole.

He's not stealing the phrase, even though you can show compound terms that break down to unrelated simple sentences.

.

> It is unhelpful to deliberately make non-standard (i.e. incorrect) use of accepted terms.

Yep. And that's what the FSF did.

The term predates them by almost 40 years, and is mostly used by other people in ways that are incompatible with them.

As an issue of fact, GPL/LGPL/AGPL use by project count is now below 10% of free software licenses, and as an issue of fact, the other free software licenses that the FSF has decried "not truly free" continue to ignore them and chuckle.

And I see you, from the radical minority, insisting that your viewpoint is the standard, and accepted.

Not really, is the thing. There's evidence, and it does not support you.

.

> In aviation,

These constant attempts to point to other things and insist their structure informs this discussion, while placing a mistake in someone else's mouth and and then correcting it, are pointless and tedious.

.

> On the other hand, you could try telling a physicist

These constant attempts to point to other things and insist their structure informs this discussion, while placing a mistake in someone else's mouth and and then correcting it, are pointless and tedious.

.

> On the third hand,

That's pronounced "gripping."

.

> you could try insisting to a soldier

These constant attempts to point to other things and insist their structure informs this discussion, while placing a mistake in someone else's mouth and and then correcting it, are pointless and tedious.

.

> In no instance is there any question of Orwellian control.

I'm sorry that you failed to understand my meaning.

.

> See also similar discussion of the term Open Source

I am not interested in an HN attempt to redefine terms either.

It's really weird that you say "It's not Orwell, now watch me define the term against you"

I'm not sure I think you've actually read the book

Have a day


No one is required to use GPL software. You're free to implement your clever idea in a way that doesn't make use of GPL software.


Stallman views sharing of source code as imperative, so the idea that you wouldn't use the GPL is anathema to him. He claims that it protects users, but this leaves out the people who spend the time and effort to develop that software product.

At that point, you're back to traditional copyright and other less restrictive schemes.


Sure, Stallman's preferred option is that you use free software and release yours as such accordingly, but I think he'd still prefer you to write your own and release that as proprietary than take free software and bundle it up in a way that takes away the user's freedoms.

> He claims that it protects users, but this leaves out the people who spend the time and effort to develop that software product.

Some things really aren't all positives for everyone. The free software movement prioritises users first. Sometimes this is a negative for the developer's goals. But clearly by the existence of a large amount of free software, there are enough developer's sympathetic to this goal to make it work, and by eliminating those restrictions, I don't see how that's preferable (or even different) to the all rights reserved world.


It puts a damper on conventional business models.

It doesn't put a damper on societal progress because you benefit from the existence of GPL software so it is only fair to let others benefit.


>you've found a clever way to do something

Dont use GPL licensing if you want to turn a trade secret into profit.


Yes; but it's a fair price to pay.

What you're saying is simply a part of the big question of "intellectual property," though I think perhaps one thing we forget is that the protection is the ARTIFICIAL part; IP is the thing we made up out of nowhere.

Probably one of the reasons I find the GPL to be so brilliant and clever -- one could whinge about the problems with overbearing copyright, or one can use some clever judo and just roll with it.


For a few years, I had a consulting practice that implemented stuff written by Microsoft, IBM and others, mostly using scripts and little applications that were posted on the web for free.

It was the only way to make the business work, as work for hire would be owned by the customer, and we didn't have the money to waste arguing with massive corporations.

It's like anything else tools + labor = work product.


The reason most devs have told me is basically security by obscurity, or they "don't care" about monetary gain/competitive advantage of their package/product.


one problem i have with licenses like the GPL is that the effort spent integrating and fixing open source code such that it achieves commercial usability or quality, cannot be protected. competitors can take the 10 lines of code you spent years on and which make all the difference, and they don’t need to pay you. it unfairly serves the interests of large companies where this cost is negligible.


>competitors can take the 10 lines of code you spent years on and which make all the difference, and they don’t need to pay you

Isnt that the point? Your contribution is freely accessible to the community. If your work gets used, then you contributed

If you want to get paid for your work, set up a contract beforehand. Get paid to work on GPL code upfront - dont try to get paid for how it is used after. How it is used is heavily effected by not needing to pay for it in the first place.

Otherwise you are like the guy at the gas station who randomly cleans your windshield and then asks for a tip. Like yes, my windshield was dirty and you deserve to be paid for your work, but no one asked


let's say it costs you $100K to fix an open source issue. you are a self funded bootstrapped startup. that 100K is serious money. the same 100K, for a FAANG, is lunch money. the FAANG can take your contribution and compete with you, and put its marketing dollars to work, which you don't have.

"get paid" for open source work typically means become a contractor, paid per hour. that doesn't scale, I'm interested in getting paid repeatedly without any additional effort on my part, rather than getting paid per hour.

it would be interesting if there was a model where a contribution would cost $0.001 to use in a product. if I am a small business selling a product with that contribution in it, and I sell 1,000 products, I pay $1. if I am a FAANG and sell 20 million products, I pay 20K. that sounds like a much more fair situation. perhaps blockchain can enable this. now let's say I am a regular contributor and FAANGs use my software. I can now make let's say ~100K per year from my few contributors from FAANGs without any additional work. that would be pretty awesome.


>FAANG can take your contribution and compete with you

Compete with you on what? using the public goods you created? I still think that is the point. If they can utilize the public good more efficiently and offer its service to users at a more competitive price point than your small shop - that benefits the user.

>I'm interested in getting paid repeatedly without any additional effort on my part, rather than getting paid per hour.

A plumber doesn't get paid every time water runs through the pipe. Coming up with clever solutions to the operational problem is part of the $/hr of doing work.

I guess what it comes down it is are we talking about literal code, or are we talking about something higher level that you want some level of ownership of?

When it comes to code, the logic of the code itself is not where the value is. the reason multiple payments are made for the same set of logic / code is because the value is in the time and place of execution. Owning the overall system the code lives in is all that matters for value. Code itself has literally no value on its own. The value is in the execution.

The thing people pay for is to have others execute code for them. development is part of that.

you still bring up an interesting payment model idea though. I'm not sure how it could work, but there might be a feasible way to have multiple developers work under the same umbrella, with all code being proprietary and owned by that umbrella, and instead of paying them a flat wage they each work as contractors who get paid whenever code they developed gets executed. The umbrella could service FAANG as customers through typical SaaS API model so FAANG never sees the code and the developers themselves get paid on execution instead of FAANG management

Basically what you describe, but as a closed ecosystem - not sure how feasible it would be to insulate it from the general ecosystem though.


Large companies don't want to swallow the poison pill that is the (A)GPL.




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

Search: