Technical questions about forking packages

Forking packages has been surprisingly rare in the Julia ecosystem, so I could not find any guidelines or examples on it. I am wondering about the following:

  1. I am assuming that the fork needs a new UUID, and while technically it does not need to be renamed, this is required to be registered in the General registry. Is this correct? Anything else?

  2. What should be modified in the copyright notice part of the license? Should one add a line after/before

    Copyright 2019, Original A. U. Thor

    or do something else?

  3. How would one modify the author field in Project.toml, just add the new maintainer?

3 Likes

You might also not want to actually “fork”, and clone and push a new repo instead. Otherwise the repos are connected, and you have to one day ask github to remove the connection because there is no button for that. It takes a day or so.

Edit: to clarify the main problem with having a fork is pull requests go to the original package by defualt.

2 Likes

I was using “fork” in the sense of “take the code and start a new project without intention of submitting changes back to the original”. I was not aware of Github attaching a special connection to using their “fork” button; thanks for the clarification.

1 Like

If the old codebase is still used and maintained and you intend for them to coexist then you need a new UUID (otherwise they are the same package). The situation about an identical name has not come up, and I don’t think we have discussed this. However, I know some tooling, e.g. Registrator, can not handle it at the moment.

1 Like

Isn’t it specific to the license of the software? If it’s a Julia package, it probably is the MIT license which contains this line

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

So, I suppose you have to keep the original copyright.

(On the other hand, IIUC, you don’t have to include the original copyright if the original software is licensed under something like Unlicense or CC0.)

I find related Q&As

But I don’t see any agreement on how to add your new copyright.

1 Like

Yes, I was asking about the most common case, MIT license.

Thanks for the links.