Forbidding a project from being forked on GitHub

I’ve seen this done before in the 1970s and 1980s with licensed code that had to be distributed in source code form. You often see variable names with lots of upper case “O”, “I”, zeros, ones, and lower-case “l” characters. This not only makes it difficult for a human reader, but also for character scanners.

I don’t think it’s contradictory, you can put whatever clause you want in a license, and as a matter of fact the source is still opened. Maybe such a modified license can not longer be qualified as “free”, though.

1 Like

I don’t care much about Open Source, but I do care about Free Software. Admittedly, the difference between those two is more ethical than anything else, but I support the latter, without the slightest doubt. From that point of view, I don’t think restricting redistribution on a specific platform violates any of the four fundamental freedoms, at least as FSF describes them.
Other than that, I understand your concerns about forking, and how it is sometimes legitimate, even when it’s not a fork but rather a direct copy with minimal (if any) changes. However I seriously doubt the excessive amount of forks on GitHub (and other git-like platforms, but especially on GitHub) is for preserving the code.

Have you ever tried to find the official GitHub repo for a specific library? I’m sure you did, so you know it’s unnecessarily complicated. I work as a packager in two GNU/Linux distributions and I can tell it’s often a headache to find the official repo of a given library, due to the countless forks. Frankly speaking, GitHub is full of trash, and you have to find where the hell is the “right” repo. Over the years, I managed to learn how to dodge the forks and build packages using the official repos, but it shouldn’t be like that in the first place.
When I have to add a new package and I see the code is not on GitHub I think “great, one trouble less then”.

I don’t see how such a modified Zlib license makes the library less “free”. You are still free to redistribute the code, just can’t publish it on GitHub. It’s not the end of the world, you can publish your fork elsewhere. If nothing else GPL (or even LGPL) has other restrictions some people would consider way more serious than just forbidding publishing on a specific platform. And yet (L)GPL is the license FSF, the main advocate of Free Software, recommends.

In fact I think LGPL is actually better than Zlib, BSD, MIT, etc, because with those licenses one can just copy/paste your code in their projects without crediting, which is flat-out unethical and stealing. Sony did exactly that with code taken from FreeBSD without saying anything - and that’s just one of the many examples.
LGPL prevents that: You can still publish your work in any way you wish, even as proprietary software, you just have to dynamically link the LGPL-licensed library you are using. The reason I opted for Zlib is because, for that particular library, I don’t really think someone would steal the code that way, and I don’t care much even if they do. What I do care is prevent contributing to the GitHub chaos.

Can you give one example of a library for which a search engine points to a fork and not the official repo? I haven’t experienced this once in my 10 years as a GitHub user.

No, you can’t. :slightly_smiling_face:

That depends on the search engine. Just a quick example, try “Freealut”. The first result found, at least for the engine I am using, is a GitHub page which is not the official repo. And considering Google is by far the most popular search engine, well, the first result is… whoever paid more or whoever their algorithms decided to promote. Completely untrustworthy.
And it’s getting worse. As a general rule, GitHub usually comes first in the results search engines give - due to popularity, I guess. And it may or may not be the official repo. A distribution packager should never trust it’s the official one without further researching.

I wish this was correct, but I’m afraid it is not. I’ve already mentioned a certain company using FreeBSD code without telling. Technically, the FreeBSD license doesn’t prohibit this, but it was unethical, and only discovered because someone was asking questions in the forums using a company’s email address. A certain hardware emulator for the C64 computer runs a modified version of the vice emulator and they didn’t say that anywhere, at least not until the vice developers figured it out. A filesystem developer did the same some time ago. I opted not to mention names here, but it’s not hard to find out what I am talking about.
The list just goes on. And I am 100% sure in most of the cases we just don’t know it happened. Anyone can copy/paste code they didn’t wrote and claim it’s their work. And if the end result is proprietary. closed source software (which it typically is) good luck finding out.

AFAIK, Google search results that come first because someone bought some adwords are marked as “sponsored”.

This is all the point of a search engine. You want/need a powerful algorithm to sort out the infinite number of web sites around. And on of the reasons why “everybody” use Google is that they still have the best algorithm as of today.

But this can happen even if this is the only Github repository for the given library. And if it was not GitHub it would be an alternative popular repo site that would attract the search engine the same way.

The BSD license requires giving credit to the authors of original code that is used.

Agree, someone can easily use the code in their closed-source software without honouring that clause, and nobody will know. But it’s not really different from the GPL licence: someone can easily use GPL code in their closed-source sotfware without telling anything, and yes it happens.

1 Like

I would avoid their search engine for other reasons, even if that’s true. I would also avoid anything related to them, because of theιr excessive, openly admitted contempt for privacy. But that’s another story.

Correct, but the reality is typically GiHub comes first in the results, and it’s not necessarily the official repo, or there are many repos there, and it is not always clear which one is the official. A headache for distro packagers. What I do is to bookmark the right repo when I find it, so I don’t have to “run the gauntlet” again.
If another platform was as popular and had better strategy concerning forks, I wouldn’t complain it comes first in search results.

It is not that clear, I think. It does require giving credit to the authors of the original code, but only talks about redistributions of the source code or binary form. It doesn’t explicitly mention forks, modified versions, derived works etc (which is what usually happens in cases like the ones I mentioned above.)
Now, I am not a lawyer and I’m not sure if their wording is clear enough and includes forks. Also, the “zero-clause” version of the BSD license doesn’t even mention redistributions either.

Of course it happens, and it will always happen. No license can prevent this. That doesn’t mean they are useless or it doesn’t matter which one you choose.

Forking, good or bad, is a consequence of a Free license. I can’t see on what basis a platform could prevent, or even limit, forking of free softwares…

BTW, one of the reasons of that many forks is that very often potential contibutors prefer having their own project where they can be the ones who decide. It’s very often a bad reason, but it is as it is. Welcome to the big bazaar of FOSS :slight_smile:

If it was so easy to remove the licence requirements, the whole BSD license would be pointless… As long there are parts of the original code, be it forked or modified, the licence applies.

Yes, but if this is what the authors want, there’s no problem with that.

My point is that you cannot blame any licence, BSD or any other, if people do not comply.

Do you think this additional constraint in the zlib license is clear enough?
This software, or any part of it, should not be forked, cloned, or otherwise be hosted on GitHub, in any form.

Do you think software with such a constraint is still “Free Software”?

No, I think such software is not “Free Software”, according to the most accepted definitions, such as DebianFreeSoftwareGuidelines - Debian Wiki, so Debian won’t be able to redistribute your software. It seems your addition is breaking points 2., 5. and 6. of the DFSG guidelines.

Thank you @certik for pointing this out. However I would argue this is not against 2 and 6. It is against 5, although I think even that is debatable: the purpose of 5 is most probably to prevent other issues, such as political, religious, racial and similar kinds of discrimination - which of course has nothing to do with this particular restriction.

But I don’t really care if Debian would accept it, I won’t ask for it anyway. In fact I don’t think I would try to officially include this software even in the distributions I am actively involved as a packager (where it would be somewhat easier to do so.) I didn’t do such a thing even for larger libraries I wrote. I don’t really care about publicity, only about if it’s Free Software or not.
On the other hand, I don’t want to emphasize a “my software, my rules” stance, which I find a bit offending. So even wording of such a restriction is essential, just to avoid being misunderstood.
I am curious to hear opinions… Do you think a library, with zlib license plus the restriction (as expressed above) is still “Free Software” - free as in “freedom”, in common sense, and the FSF interpretation of the term. Do you think downgrading the restriction to just a simple “please don’t do that” recommendation is better, since I have zero intention to police and monitor GitHub for possible violations?

Again, please don’t get me wrong. The question is way more general than the specific library I am about to release. I don’t think it is anything special or it deserves to be guarded with special measures because it’s so great or anything. It’s just a simple library that may or may not be useful to others. And, essentially, it has nothing to do with this thread, other than it was the reason I started bothering with such issues.

I think it makes it not “Free Software”, neither in common sense, nor in the FSF interpretation of the term, nor in the Debian interpretation, nor in the OSI interpretation (The Open Source Definition – Open Source Initiative). You can ask any of the entities to be sure, but that’s my guess.

Yes, I think that makes it open source / free software. We did something similar in SymPy, at the end of the README we put:

SymPy is BSD licensed, so you are free to use it whatever you like, be it academic, commercial, creating forks or derivatives, as long as you copy the BSD statement if you redistribute it (see the LICENSE file for details). That said, although not required by the SymPy license, if it is convenient for you, please cite SymPy when using it in your work and also consider contributing all your changes back, so that we can incorporate it and all of us will benefit in the end.

That way we make it clear that it is not required by the license to cite the paper, but it would be nice to do. So you can say “It’s not required by the license, but I would personally prefer if you do not put the code on GitHub.”, or something like that.

When I heard about Duckduckgo I started happily using it instead of Google as a search engine. But what are the best alternatives to Google Scholar, Google Groups and Google Maps?

Their services are often objectively the best and the more complete, due to the amount of data they collect and the money they have: it’s a virtuous|vicious circle (choose your adjective).

Concerning Maps, if you just need the traffic map HereWeGo and Waze are good free (beer) alternatives. If you just need a map with good details, then OpenStreetMap (free… dom). Concerning the talking GPS, Google is very good…

For Google Scholar, I don’t know, my university having good commercial alternatives. I think Microsoft Academic has disappeared, but it was just going from G to M…

For Google Groups, a Usenet server. But they have unhappily become rare, even in universities…

A good alternative to the search engine is also Qwant.

See also the Framasoft initiatives:

Note that you can host your projects on the free(dom) https://framagit.org
I guess that if you have an account, you can change the interface language (French by default, or maybe it depends on your IP…).

Waze is owned by Google.

Google Groups is actually one the worst possible ways to access Usenet groups (but it has also groups that are not linked to usenet). But admitedly, it’s also one of the very few web interfaces to usenet (and none of them is really satisfactory).

1 Like

I did not know :laughing: Well, the true alternative is perhaps to stay at home! (and no cost, no CO2, no tiredness…)

It’s not in French by default for me (although I wouldn’t mind at all if it was.) Registering page has instructions in French and English on the left side, but the rest is in English. I guess default language has to do with the IP.
And it also seems a nice clean repository service. It seems it is a subsidiary of GitLab or at least there is a connection.

As for Google services, it’s first an ethical choice for me then anything else. Therefore the choice to stay away is crystal clear obvious. Oh and I’m still alive I guess, so trust me, there is life without Google. :laughing:

Fine. After reflection, I think it is rather based on the languages set in your browser, rather than IP.

They use GitLab, which is a free software, and offer the hosting. Framasoft is a non profit-organization, now 20 years old, promoting free software/culture. Money comes from donations.

I believe you, as you know @Pap, I also knew a world and a web without Google. Well, I was an early adopter in 1998, the page rank algorithm was so good compared to AltaVista, Lycos and others… It was just a startup. Concerning the search engine, I migrated ~10 years ago to DuckDuckGo then Qwant. But their YouTube is a great tool to explore the music history…

Why antitrust laws are so rarely used? :smile:

Try Odysee, and for the same content as Youtube but without the excessive spyware, try Invidious (they have many servers. e.g. this one.) See the CPU and memory impact for playing the exact same video in the exact same resolution both in Youtube and Invidious. You will be impressed of how much junk Youtube adds for doing the exact same thing.

But I have a feeling you know about those already. :slight_smile:

1 Like