Hacker News new | ask | show | jobs
by greggyb 2037 days ago
It depends on how you feel about the word "should."

At core, there are two different philosophies at play here.

On one side, you see copyleft licenses. These licenses impose a requirement on anyone who uses/modifies the source code. This requirement is for the purpose of ensuring that all versions of the source code are available for all potential users of the code. They do this by requiring source modifications to be licensed similarly and made available.

On the other side, you see permissive licenses, such as BSD or MIT licenses. These impose no requirement upon users/modifiers of the code, other than preserving the copyright notice on the copyrighted code. Derived works need not share a similar license, nor do modifications need to be made available.

Both categories of license allow downstream users of the code to do whatever they wish with it in that neither restricts usage of the code. Copyleft licenses include a requirement to share and share alike. This imposes additional legal burdens on some usages of the code - it doesn't prevent it outright, but it forces certain actions as a condition for certain usages of the code. Permissive open source licenses impose no such burden.

Both allow users to improve and modify the software on their devices. Neither prevents sharing those improvements with others. One requires sharing those improvements with others.

So, I'll conclude by restating my initial point: it depends on what your definition of "should" is. One interpretation of should is normative - you believe in this thing and you believe that it is well and good that requirements to act in accordance with this belief are imposed upon others. The other interpretation is that an acceptable license does not restrict such behavior, but also does not enforce it either.