Hacker News new | ask | show | jobs
by fsloth 2619 days ago
Uh, if you don't wan't to fork, don't make it public in the first place? Code escrow is another thing, but that does not mean everyone needs access...
1 comments

The two aren't necessarily mutually exclusive, although yes I would agree with you. -In the case- of a repository being public without a license however, forking and related things should still be disabled to prevent licensing headaches.
This shows a fundamental misunderstanding of how git works.

The main point of putting something on GitHub is to allow people to git clone it. Every git clone is a fork of the project.

If you don't want something forked, don't put it on GitHub.

I understand how git works. I'm discussing the edge case scenario where someone uploads something but doesn't add a license. In that case, forking and cloning should be disabled, at the least.
There's nothing stopping you from entering anything in the LICENSE file, including an open source license, a copyright notice, or something completely unrelated to the license of the project.

With that in mind, to enforce your argument, they would need to create a list of licenses that are okay to fork/clone. Why should they create a finite list of that?

I'm willingly using WTFPL[0] that can be summarized as "as long as you change the name, do whatever the fuck you want to". I know it's not a serious license (I only use it for non-important collaborative Markdown documents I've started), but thanks to its use of the word "fuck", I'm having hard time believing that it would find its way into any whitelist. FSF mentions it on their website, but GitHub doesn't list it as an option on choosealicense.com.

[0] http://www.wtfpl.net/

Does your computer's shell disable `cp -r` for directories that don't contain a license?

The point of uploading to a public Github repo is to let others clone it. Pure tech tools like that shouldn't implement features that require searching a repo for a file that could be a license and then determining whether the file gives others the right to do that clone. After all, letting others clone is the entire point of the tool. If it's not allowed, don't use the tool.

Github is a publishing platform. Publishing is the act of releasing something for distribution. Cloning or forking a repo is the standard method of distributing something using Git. All Github's terms of service do is ensure it's clear that if something is published to their platform, they will distribute it in those ways.
IIUC, you are suggesting that GitHub make new repos private by default, unless a permissive license is set.

This seems a reasonable balance.

It's antithetical to their business strategy. They charge for premium accounts to give access to private repos. Nothing wrong with that, but OP should probably try out Gitlab if he wants an enterprise-level solution for free.
I'm not OP, I'm GP. Second, I fully understand git, github, gitlab, etc.

I'm specifically discussing a situation wherein someone has uploaded non-licensed code to github. I am not advocating for this. I am discussing what should be the default behavior for a repo if unlicensed. Another alternative is not having the repo be usable at all (so not private) if one attempts to bring it public without a license.