News for hackers. Stuff that matters.
Re:Openrsync imported into the tree by AdmiralAsshat on Monday February 11, 2019 @05:21PM (#19138968)
Interesting. This is the first project I can think of where a clean-room implementation was done so that a project could use a less free license ("free" as defined by the FSF).

Does anyone else know of instances where a company did a clean-room implementation of a previously FOSS tool so that they could make a paid/proprietary version? Usually it goes the other way.

Re:Openrsync imported into the tree by joshklein on Monday February 11, 2019 @06:43PM (#19139655)
ISC is a more free license for its users. GPL protects theoretical future users of theoretical derivative software by restricting freedom for its users.

It's important to remember that GNU is Not Unix, but OpenBSD userland is much more so. There isn't much reason to protect future forks if you expect that future software should start from first principles instead of extending software until it becomes a monolith that must be protected from its own developers.

Re:Openrsync imported into the tree by m463 on Monday February 11, 2019 @07:02PM (#19139772)
That is not precisely accurate.

The GPL does not place any restrictions on how software is used, so the (literal) users are not restricted.

It restricts how it is redistributed.

Re:Openrsync imported into the tree by joshklein on Monday February 11, 2019 @07:23PM (#19139875)
Apologies, I intended "user" in my comment to mean "a developer using the license". Thank you for clarifying.
Re:Openrsync imported into the tree by e12e on Tuesday February 12, 2019 @02:12AM (#19141648)
This is the core difference between gnu and bsd - guaranteeing freedom for all current and future users VS all current and future distributors (in particular, the bsd guarantees the right to fork and close - often seen as essential for commercial use in a new software or software+hardware appliance; while gnu attempts to guarantee that any downstream user will always have the four freedoms).
Re:Openrsync imported into the tree by TeMPOraL on Tuesday February 12, 2019 @02:39AM (#19141756)
It's so easy to forget that at the very end, there are people who are using software. Developers are middlemen for most code in the products they build (think dependencies). GPL cuts through that, and always has the end-user in mind.
Re:Openrsync imported into the tree by demoray on Monday February 11, 2019 @05:41PM (#19139177)
WSL. The implementation, lxcore.sys, is a clean room implementation of the Linux kernel ABI.
Re:Openrsync imported into the tree by protomyth on Monday February 11, 2019 @05:33PM (#19139097)
How is the ISC (version of BSD license used by OpenBSD) less free than the GPL3? This is very far from a "paid/proprietary" version.
Re:Openrsync imported into the tree by meruru on Monday February 11, 2019 @07:53PM (#19140042)
Using "less free" or "more free" in this context just leads to pointless semantic debates. What happened is that someone made a clean-room implementation of a copyleft program in order to have it available under a copyfree license. Both licenses are Free.

http://copyfree.org/policy/copyleft

Re:Openrsync imported into the tree by TeMPOraL on Tuesday February 12, 2019 @02:46AM (#19141780)
First time I see this, thanks. The website isn't explicit about this point, but from what I gather, "copyfree" isn't viral in the way GPL is. It seems to provide "Free as in Freedom", but unlike GPL, doesn't protect that freedom from being immediately taken away.
Re:Openrsync imported into the tree by jimktrains2 on Monday February 11, 2019 @06:04PM (#19139378)
I think gp means that this code is allowed to be used in products that choose to limit the end users freedoms.

(I don't mean that as a plus or negative, but as just a statement on one of the largest philosophical differences between the bsd-style and gpl licenses: Who's freedoms are being protected? Those of the final end user or those of the developer?)

Re:Openrsync imported into the tree by mouldysammich on Monday February 11, 2019 @05:53PM (#19139290)
Its much closer to a proprietary version than a GPL version would or could be however.
Re:Openrsync imported into the tree by kevin_thibedeau on Monday February 11, 2019 @06:25PM (#19139544)
Proprietary-friendly is not less-free.
Re:Openrsync imported into the tree by StavrosK on Monday February 11, 2019 @07:46PM (#19139999)
How not?
Re:Openrsync imported into the tree by anjbe on Monday February 11, 2019 @10:12PM (#19140684)
I want my code to be usable by anyone developing free software of their own. I want them to be able to integrate it, modify it, redistribute their modified copies, and more.

The GPL, being long and complicated (over 5000 words, and that’s just the GPLv3!), and with the ideological restrictions built in, is incompatible with many widely used free licenses, not least previous versions of itself. In any situation where social or legal barriers prevent the target audience from switching to the specific version of the GPL in question, any code I release under it is unusable to them.

Releasing my software under a simple, understandable, and permissive free license prevents this from ever happening.

I dislike proprietary software. I don’t use it or create it, and advocate against it wherever I can.

But given the choice between letting some Chinese featurephone developer use my code without “giving back,” and preventing swaths of the free software community I care about from using and improving my code for themselves, I will favor permissiveness every time.

Re:Openrsync imported into the tree by GalacticDomin8r on Monday February 11, 2019 @08:52PM (#19140338)
Because you are actually free to do what you want with it, instead of free to do what someone else wants you to do with it.
Re:Openrsync imported into the tree by StavrosK on Monday February 11, 2019 @08:56PM (#19140351)
Yes, you are free to close it up and sell it, but everyone else then isn't free to use your changes. "More friendly to proprietary purposes" is "less free".

It's kind of like arguing that a country where anyone can steal from anyone else with impunity is more free. Not when you consider the rights of the person being stolen from.

Re:Openrsync imported into the tree by derefr on Monday February 11, 2019 @09:18PM (#19140450)
Just because some forks of a project aren’t free, doesn’t mean that the project itself isn’t free. Especially if the project, like much of the e.g. MIT-licensed code in the world, is “done” for all intents and purposes and there is no reason at all to fork, proprietary or otherwise. (This comes up in the context of pure algorithms code a lot.)

Also, even if a project is copylefted, people can still just do... exactly what they did here. Which, while different in the weak sense of “avoiding copyright” or maybe “avoiding patents”, in the context of systems code like this almost always results in the same code on both sides anyway. If the choice is between either giving the proprietary developers your code to use, or making them re-implement exactly what you wrote without your copy for reference—with no option for “they don’t implement it at all”—then exactly what is the point of choosing the latter over the former?

Re:Openrsync imported into the tree by StavrosK on Monday February 11, 2019 @09:25PM (#19140475)
> Just because some forks of a project aren’t free, doesn’t mean that the project itself isn’t free

We aren't talking about non-free, we're talking about less-free.

> Just because some forks of a project aren’t free, doesn’t mean that the project itself isn’t free

No. The fact that there can be forks of the project that aren't open is what means that the project itself is less free than a project where all forks must be open.

> Especially if the project, like much of the e.g. MIT-licensed code in the world, is “done”

I don't consider this relevant to the argument at hand.

> then exactly what is the point of choosing the latter over the former?

Are you asking me what the point is of making something you don't want people to do hard for them vs making it easy?

Re:Openrsync imported into the tree by adamrt on Monday February 11, 2019 @10:24PM (#19140733)
That's not a good analogy. In this case, people aren't being stolen from, they are freely giving it away for someone else to do as they wish.

Additionally, "theft" as you put it, in this case, doesn't affect the original property owner.

Re:Openrsync imported into the tree by TeMPOraL on Tuesday February 12, 2019 @02:51AM (#19141805)
Digital analogies to theft rarely are good, but this one is passable. The main point is that this license grants software freedoms, but then doesn't do anything to protect it - thus enabling middlemen (like most of us devs are, for most software we write!) to immediately strip those freedoms away.

Proclamations of rights aren't really useful if they don't have means for enforcing those rights are not taken away.

Re:Openrsync imported into the tree by StavrosK on Tuesday February 12, 2019 @06:37AM (#19142681)
I wasn't using it as an example of being deprived of property, but as an example of how infringing on other people's freedoms leads a system to be less free than one that doesn't.
Re:Openrsync imported into the tree by chriscappuccio on Monday February 11, 2019 @08:19PM (#19140177)
You have the freedom to create your own proprietary derivative, a freedom you lose with the GPL version of rsync.
Re:Openrsync imported into the tree by int_19h on Monday February 11, 2019 @08:43PM (#19140302)
On a very high level, LLVM/Clang happened because Apple needed a clean-room implementation of GCC.
Re:Openrsync imported into the tree by bsder on Tuesday February 12, 2019 @03:36AM (#19141986)
And because the gcc code was an impenetrable mess--intentionally so in order to prevent people from making a non-GPL alternative.
Re:Openrsync imported into the tree by yjftsjthsd-h on Tuesday February 12, 2019 @12:28AM (#19141285)
Of gcc, or "a C compiler (with extensions as seen in the wild)"?
Re:Openrsync imported into the tree by int_19h on Tuesday February 12, 2019 @02:15AM (#19141662)
Well, Clang implemented gcc extensions long before it went for MSVC ones...
Re:Openrsync imported into the tree by meruru on Monday February 11, 2019 @08:01PM (#19140089)
The BSDs have a strong preference for copyfree licenses. They tolerate copyleft programs, but try to switch to copyfree when possible. See for instance GCC -> Clang/LLVM.
Re:Openrsync imported into the tree by wmf on Monday February 11, 2019 @06:28PM (#19139567)
Both the ASF and FSF have a variety of NIHed projects that appear to exist purely for license ideology reasons. The most famous that comes to mind is Apache Geronimo, a clone of JBoss that few people used but was bought by IBM for ~$120M IIRC.
Re:Openrsync imported into the tree by mindslight on Tuesday February 12, 2019 @01:26AM (#19141501)
https://en.wikipedia.org/wiki/Bionic_(software)

(You know, since we're tossing grenades)