Hacker News new | ask | show | jobs
by dspillett 3653 days ago
> Honest question, how is anyone expected to keep up with all of this?

* ... apparently Linux has a modified version of the GPLv2? I would never notice that,*

From the point of view of a personal project it doesn't matter that much. If you accidentally breach a license and someone notices they'll tell you and you'll fix the issue.

It gets much hairier once money is involved (i.e. OS code used by a company like Samsung) but the process they need to go through is no different from the due diligence that they have to do when licensing non-OS code from other bodies (commercial or otherwise).

When transitioning from pet project to commercial interest things are a bit more muddy. In the case of an individual or small company making the transition there may be some pain as they are not initially setup for this, but in the case of a commercial interest taking over (buying the project, taking over the smaller company, employing the individual specifically to work on the project, just negotiating non-OS use of the code etc.) this is again covered by the same due diligence requirements they follow when dealing with commercial code.

> I'd rather just stop publishing.

This only affects making modifications to other projects or taking some of their code to supplement your's (in both cases you are creating a derivative work), and even then only if you subsequently publish the work (i.e. it isn't purely a personal or in-house project). It shouldn't stop you publishing work that is definitely your own, just chose a license that you do understand.

If in doubt, write it yourself. For bringing in libraries (as "write it yourself" is seldom completely practical for all but the smallest projects) keep to the "soft" licenses that you understand (in no particular order this for me is: BSD, MIT, CC, LGPL, ASL) and avoid the "hard" OS licenses (GPL proper) & non-OS licenses unless you intend to stay GPL or accept the limitations of commercial/other licensing, and ignore code under other licenses unless you have time to read and understand them. Also avoid code with no clear license.