Live data from Hacker News

Stopping bad guys from using my open source project (feedback wanted)

evanhahn.com

151–160 of 229 posts

Re: Stopping bad guys from using my open source project (feedback wanted)

#151
This raises a question in my head. If the author was to update the license to something restrictive, consumers and transitive consumers will npm update at some point, and likely not notice the dependency change.

They would then be breaking the license terms without realizing.

Is there anything in npm to protect against this? Projects have hundreds of dependencies, it's not feasible to manually check licenses haven't changed every time you update.

Re: Stopping bad guys from using my open source project (feedback wanted)

#152
post #112

Two thoughts. Ben Thompson and James Allworth discussed an idea on an episode of The Exponent ( https://exponent.fm/ ) the idea of a "principle stack", and at which "layer" of the stack it's appropriate to address different societal issues. I wish I could find the episode again, it was quite a few years ago. The upshot being... maybe software licensing isn't the right place to address e.g. income inequality? On the o…

It is impossible to write a real "use for good, not evil" [1] license, because there's no formal, universally accepted notions of good and evil. While there are things that are universally considered good, or considered evil, the areas around them are large, nebulous, and are anything but clearly outlined. Hence legally avoiding the "anti-evil" license terms will always be a relatively easy option for a willing party…

> there are things that are universally considered good, or considered evil

What a bold claim.

Re: Stopping bad guys from using my open source project (feedback wanted)

#153

In theory you can change the licence and hope that those that use the software respect the licence terms, but that depends on trusting others. I think of the case of the Russian programmer who was arrested and jailed for stealing proprietary code from Goldman Sachs. During the trial it was revealed that Goldman Sachs would use open source software and replace the software licence with their own: "Open source was an i…

This is appalling. Maybe all open-source code could be published as part of a not-for-profit cooperative that defends the programmers that enter into it.

Re: Stopping bad guys from using my open source project (feedback wanted)

#154

It seems like CC-BY-NC ( https://creativecommons.org/licenses/by-nc/4.0/ ) works perfectly for this: Anyone is allowed to use it, but they have to credit you, and they can't use it for commercial purposes. You're still free to license it out commercially on other terms, the open-source community gets to make use of it as they please, and it ensures you're credited.

> the open-source community gets to make use of it as they please

Uhm... I wouldn't be so sure. Looks to me like such a license carries transitively to projects that depend on your software.

Suppose you're distributing a library on such terms. Then an open source project uses your library. Such a project can't then be used in a commercial fashion unless whoever distributes it gets a commercial license from the library's copyright owner. Now suppose the project uses multiple libraries with such terms. That's a burden.

Then again this may be a feature, not a bug, of the model you're proposing.

I suppose that it wouldn't work in practice, though. The AGPL license (and libraries with a GPL license instead of a LGPL one) aren't really widespread, probably because of the virality clause.

Re: Stopping bad guys from using my open source project (feedback wanted)

#155

Earlier quoted context omitted.

I think this is one of these cases where talking in abstract terms does not help people agree. What I am hearing is if you remove context (and timing, lets say it is part of context) then there is no good or bad. But who said to remove context? Arent we saying then there is good and bad depending on context? Many people, including myself, would agree in the abstract, while at the same time some situations being very…

How do you make good or bad resolvable? Is a piece of code being used by Tyson Foods okay? A vegetarian software engineer who contributed to the package might say “no, that use contributes to the killing of animals for food, which is bad.” If you need to evaluate all the context to know whether a license is usable, it makes it extremely hard for “good guys” to use code under that license. (It’s generally very easy fo…

> How do you make good or bad resolvable?

It is not a computer program, but a an ethics problem. We can solve it by thinking of the context and the ethics of it.

I realize it is the topic of this thread, but OP did not mention anything in relation to licenses, and was just talking about good and bad not existing objectively (without context).

I think, if we came with a specific situation, most people with similar values might reach the same good/bad verdict, and a small minority might reach a different one.

I believe the Tyson Foods example is overly simplistic and still too abstract, because one can be vegetarian for many reasons, and these would affect the "verdict". In the real world, if we were working on that piece of software the question would be: Does the implementation of this specific hr SAP module for Tyson foods by me, a vegetarian against animals suffering unnecessarily, etc. as opposed as the abstract idea of any piece of code and any vegetarian. If a friend called you: I have this situation at work, they are asking me to write software to do x and I feel bad about it, etc. etc. I bet it would not be difficult to know what is right and wrong. Another aspect of it is, we could agree something is wrong (bad) and you might still do it. That does not mean there is no objective reality, just that you might not have options or that your values might not be the ones you think (or say) they are, for example.

Re: Stopping bad guys from using my open source project (feedback wanted)

#156
There are very few pieces of free software that don't lean very heavily on top of a mountain of other free software that make it possible, and I think the author would be surprised how much of that was written by people who strongly disagreed with his worldview and considered him a "bad guy".

Re: Stopping bad guys from using my open source project (feedback wanted)

#157
There are perhaps 2500-3000 unique open source licenses, ranging from the half dozen most of you will know well to very obscure licenses which have come about because (for example) a research grant from a foundation with certain guiding principals indirectly paid for some of the development of some software as part of a larger research initiative. There's even a license that precludes use of the software in any military equipment other than that which is strictly of a defensive nature, due to the constitution of the country sponsoring (a small part of) the project.

Re: Stopping bad guys from using my open source project (feedback wanted)

#158

In theory you can change the licence and hope that those that use the software respect the licence terms, but that depends on trusting others. I think of the case of the Russian programmer who was arrested and jailed for stealing proprietary code from Goldman Sachs. During the trial it was revealed that Goldman Sachs would use open source software and replace the software licence with their own: "Open source was an i…

From the article:

> ‘If you tell me everything, I’ll talk to the judge, and he’ll go easy on you.’

Reminder: That's a lie. Shut up and ask for your lawyer.

Re: Stopping bad guys from using my open source project (feedback wanted)

#159

"Bad guys can't use it" is per definition incompatible with free software. For this author's definition of "bad guys" (megacorps), AGPL is probably the easiest poison pill. As with all poison pills, this will also make many (most?) "good" users unable to use it. This project is no curl or database engine, it seems to be a slightly easier way to set HTTP response headers. I bet most of the uses are transitive (someone…

Since the author mentioned trying to find a general solution, not one just for his project - here's one that could work:

Make a new standard license similar to the GPL, but one that includes machine-readable payment requirements, each consisting of:

- a UUID

- a minimum profit threshold

- a license fee, either a fixed amount or some well-defined formula (you'd probably want an inflation adjustment system)

- a recipient

Anyone who wants to use the software can do it, but if you cross the profit threshold, you have to pay, once per project. Dependents would naturally inherit the payment requirements of their dependencies, but you'd only pay once per dependency even if it was used in multiple projects (hence the UUID).

With high enough profit thresholds and small payments, this should avoid the license from becoming toxic:

* If you aren't a megacorp, you don't care because you're not hitting the thresholds.

* If you aren't a megacorp but dreaming of becoming one, you still don't care, because if you do become one, you can afford the cost, and the combined cost (payments + compliance cost) is well understood and limited.

* If you are a megacorp, you still don't care, because we're most likely talking about peanuts and the machine readable descriptions make it practical to comply, and you get a "software bill of materials" out of it as a side effect.

This relies on the minimum profit thresholds being high enough and the license fees low enough. This could be achieved by the text of the license itself being licensed only as long as you keep within certain thresholds.

Building a new license ecosystem and the critical mass behind it is a tall order, but I think this way it's not hopeless-from-the-start. The design isn't meant to "capture a fair share of the value" or anything like that, it's meant to be minimally toxic (because that's a hard requirement for having a chance of becoming popular) while still delivering some minimal contribution to big projects with a lot of dependents.

I was originally planning to suggest a revenue threshold, but I think profit is better, as it excludes nonprofits, startups in the starting-up phase, companies that aren't money printers, etc.

Re: Stopping bad guys from using my open source project (feedback wanted)

#160

"Bad guys can't use it" is per definition incompatible with free software. For this author's definition of "bad guys" (megacorps), AGPL is probably the easiest poison pill. As with all poison pills, this will also make many (most?) "good" users unable to use it. This project is no curl or database engine, it seems to be a slightly easier way to set HTTP response headers. I bet most of the uses are transitive (someone…

Since the author mentioned trying to find a general solution, not one just for his project - here's one that could work: Make a new standard license similar to the GPL, but one that includes machine-readable payment requirements, each consisting of: - a UUID - a minimum profit threshold - a license fee, either a fixed amount or some well-defined formula (you'd probably want an inflation adjustment system) - a recipie…

There are a lot of those, source available but not open source licenses, like the BSL, FSL, etc.
Post reply on HN