Hacker News new | past | comments | ask | show | jobs | submit login

With open-source infrastructure software like web servers and databases, the software is not a product. There's no disadvantage to being forced to publish your modifications, and the license does not infect your end-user software that runs on them (the actual products).

The problem with the GPL in regards to user-facing software is that a developer using GPLed libraries is forced to publish ALL of his source code, even when he has not made any modifications to the library itself. In this situation there are no advantages for the developer (and serious disadvantages, even if you're not trying to sell the software for a profit but just want to maintain your rights to the source code), and there are also no advantages for the library project itself.

This is why, for example, the core engine of MongoDB is GPL licensed, but the MongoDB drivers are Apache licensed. If the drivers were also GPL licensed, developers would likely just choose to use one of the many alternatives with more palatable licenses.




So, you're saying that for an end-user developer, it's "appropriate and beneficial" for their infrastructural components to be GPL. But, it's not for components that directly link to their end-user product, because it forces their product to be GPL?

What about web servers and databases that are sold as products? Why does that same argument not apply for them?

And, what about the users themselves? The GPL guarantees that everyone downstream (not just the next developer) gains the advantages of having the source be open. The hypothetical library project that licensed under the GPL does gain an advantage because they have access to the source for software that uses their code.

I definitely agree that MIT/BSD/Apache/etc. licenses give developers more options wrt. licensing and distribution. But, I don't see how that necessarily encourages innovation. Nor, do I see how that innovation is encouraged only in the case of end-user software vs. more infrastructural software.


I don't see a problem with people selling infrastructure software commercially. It's well within their rights to make money off of their work. Just as developers who release open source code under a non-GPL license are asserting that they don't mind if someone expands on their work and makes a few bucks off of it. To me, that seems much more "free" and egalitarian. I mean, if I was really concerned about it I'd just require attribution. Fair enough.

I think that GPL vs. non-GPL in end-user software is just a difference in philosophy. I feel that it should be up to developers whether they want to open source their modifications or not. It seems that the majority of developers do publish and contribute back any modifications that are beneficial to the original project, but I don't think they should be forced to also publish the modifications that are only of any benefit to the modifier.


There are two cases that we're addressing:

1. A developer writes an end-user application, but doesn't want to free their software. Clearly, this person isn't going to use GPL libraries.

2. A developer modifies an end-user application licensed under the GPL. If a developer makes a modification and then distributes that modification, then clearly it was of use to someone outside of that developer. The GPL guarantees that every person who uses that modified software gets the source.

But why is it good for an infrastructure product to be free, where it's bad for the end-user product?

Or, is this as simple as the fact that most free infrastructural products don't require the end-user product to be free. So, it's "appropriate and beneficial" for them to be free. But, most free libraries do require the end-user product to be free, so it's bad for the developer who may or may not want to make their product free. If I've accurately summarized, then at what point where does that "appropriate and beneficial" aspect disappear?




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

Search: