social.coop is one of the many independent Mastodon servers you can use to participate in the fediverse.
A Fediverse instance for people interested in cooperative and collective projects. If you are interested in joining our community, please apply at https://join.social.coop/registration-form.html.

Administered by:

Server stats:

502
active users

Jan Ainali

A random thought struck me. Freedom 1 of the four software freedoms says: "The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1)." and it seems to only care about the end result "so it does your computing as you wish". This leads me to believe that it should be possible to limit the development models through licensing as long as that model can produce that result in theory. Has this loophole already been discussed?

For example, a license could say: "you can change this to do anything you wish, as long as you are not using SCRUM to get there" or "you can change this to do anything you wish, as long as you are not using a proprietary code repository platform". In both, anyone still have the freedom to get to the end, but the road there is limited.

@ainali i feel like this kind of thing would tend to sit alongside the opinionated licenses. There's ones out there that say things like 'this is free to use unless you're a cop' or various similar statements. a slightly different flavour of opinion, but obviously a license with an agenda of its own. Most such licenses, to my (albeit limited) knowledge, have not yet been tested in a court of law, so their validity and ability to achieve their goals is unknown.

@yayroos My point is that those are usually adding restrictions breaking one of the four freedoms, whereas, I think, my examples don't do that. Not literally at least, perhaps in spirit.

@ainali It's a slippery slope towards a field-of-use restriction though...

@nemobis Possibly, but are my examples too far down the hill already?

@ainali I don't know, what about "you shall only compile this software in LLVM or apache-licensed compilers" then

@nemobis Yes, what about it? Does it restrict any of the four freedoms? You may still use the compiled code however you want, you can still study the source and modify it to whatever you want, and distribute and redistribute both source and compiled code.

I am not saying this is good, I am just saying that there might be an unintentional glitch here.

@ainali I think it's clearly an use restriction and therefore not free, unless written in an extremely narrow way which I can't imagine.

@nemobis You mean a restriction against "The freedom to run the program as you wish, for any purpose"?

I read that as it is about what you can use the compiled code (the program) for.

@ainali Yes. I should be able to use the program for any purpose I like, even if it's testing my preferred compiler. Building the program is part of running the program, as far as I'm concerned, otherwise I don't know how to treat JIT compilation/VM-based languages. But even if it wasn't, I should be allowed to run the program in the specific flavor I need, even if it requires a specific compiler the author dislikes.
Say I require Apple CPUs. Are users still free just because they can buy a Mac?

@nemobis So perhaps some software, that requires building it to run it, gets around that specific example. But how about my original examples?

And no, those users are not free in a semantic sense. I am saying that there might be an unintentional missing freedom for the user due to a glitch. So I am not arguing for this, I am saying that this might be what it is, no matter if we like it or not.

those restrictions don't strike me as compatible with free licensing. ISTM the "as you wish" isn't supposed to be interpreted that narrowly.

@lxo I know it is not supposed to. It is kind of my point that it does anyway as generous interpretation shouldn't be needed in definitions like these.

*nod*. I really don't think it's generous though, it's the one that seems most natural and best fit to me. regardless, interpreting stuff without the guiding context, such as the entire free software definition with all its sections and examples, is error prone. I kind of doubt this interpretation would survive this sort of context-fitting test. but whether or not it does, it might be a bug worth pursuing and fixing. do you have a suggested wording to fix it?

@lxo I think you are likely right, and then an ambiguous license wouldn't be deemed to be aligned.

I haven't thought much yet but something like this might be enough "The freedom to study how the program works, and in any manner change it so it does your computing as you wish (freedom 1)."

it occurred to me that this might be too broad
there's the (in)famous (to me) example of the free software license incompatible with itself, that required modified versions to be distributed in the form of patches, so one wasn't permitted to merge separate forks. it was considered a free software license, but it would seem to be barred by the "in any manner"

@ainali I would disagree. I interpret the phrase "does your computing as you wish" to mean the actual processing and not the end result. Otherwise it should say "computes the result you wish" or something like that.

@johan Hmm, I think I meant what you said, and that still would be covered by my two examples in the following toot. Do you agree? Or what do you mean by "processing"?

@ainali Now I think I get what you're saying. I don't know. Let's add another example. which I think is more realistic, maybe. All code must be human contributed, i.e. you're not allowed to use AI in any way to modify the code. That might seem like a reasonable restriction in some cases.

The main problem would be that it's a very hard policy to police. The exact same code would be forbidden or allowed, depending on tools used. What if I break the rules, and then rewrite that code manually?

@johan In my first thought I wasn't that concerned about policing or if it would even be useful to create a license like this, just if I found a possible "loophole" of sorts. And perhaps a bit of a philosophical question of what that freedom *should* cover.

@johan And I agree that it is a very realistic example! "you can change this so it does your computing as you wish, as long as all code is developed by humans" (the Human license).

One could also go to the more extreme (perhaps named the Solitary license 🙂 ) "you can change this so it does your computing as you wish, as long as you make all changes by yourself and without assistance from others, be it other humans or AI".

"you may only make changes to this software using the initial open source release of vi from 1978."

@ainali a middle-ground?