15

My team just tried to contact some guys from an old open source project hosted on code.google.com. We told them that we'd like to join their project and commit to it — at least to some branch of it — but no one responded to us. We tried everyone, owners and committers; no one was in any way active, and no one replied.

But we have some code to commit and we really would love to continue work on that project. So we need to create a new project. We came up with a name for it which is close to but not a duplicate of the name of the project we want to inherit from. How should we do our first commit, and what should the commit message be? Should we just copy their code to our repository with a comment like "we inherited this code, we found it here under such and such a license ... now we're upgrading it to this more/less strict license ..."? Or should we just use their code as our first commit, with updates saying "we inherited from ... we made such and such changes ..."?

1
  • 8
    Unless you get permission from the original project, depending on the original licence you likely won't be able to make it a less strict licence. If it's a licence permissive enough to allow that then there probably isn't much need to move to an even more permissive licence. Commented Feb 23, 2011 at 23:14

7 Answers 7

15

Ideally you would fork it on Google Code, which would keep all the old history. I don't know if this is explicitly supported on Google Code, but if the old project is using git as it's version control, you can do it manually by cloning the old project to a local directory, modifying the origin remote to point to your new repository, then pushing your local copy.

I'm sure a similar method can be used with subversion (svnsync perhaps?) but I have no practical experience with subversion so I can't comment there.

2
  • 2
    google code supports Mercurial, but not git. For mercurial the procedure is very similar though, just modify the default alias in .hg\hgrc.
    – Wim Coenen
    Commented Mar 8, 2011 at 1:12
  • @Wim thanks for the info. I really haven't used Google Code much at all, just providing as much info about what I know as possible. Commented Mar 8, 2011 at 1:14
10

This is actually a google code FAQ, see "What should I do if I wish to take over a project that appears abandoned by its owners?".

Apparently you can take over abandoned projects by asking Google nicely.

2
  • 2
    The text under the hyperlink says: "{"data":{"text":"Anonymous caller does not have storage.objects.get access to the Google Cloud Storage object. Permission 'storage.objects.get' denied on resource (or it may not exist)."}". Hmm, seems making a lot of sense.
    – h22
    Commented May 10 at 12:24
  • Google Code is an abandoned closed-source project.
    – Basilevs
    Commented May 23 at 8:47
8

The crucial thing is whether the license of the original code and what it allows you to do. One thing you should be very careful about is to change the license since you simply may not be allowed to do so - remember you do not have copyright.

But, assuming that all is in perfect order then the initial commit message could be "Imported 2011-02-25 from http://.... version X.Y.Z", as well as a prominent explanation in the README.txt file.

Be very clear about what you have done, and if at all possible write your code using the original code as a library. This makes it much easier to separate concerns.

4

If you contacted the old project then I don't think they can complain, just be open and clear about what you're doing and don't take credit for others' work. I'd probably try to explain the situation both on your web site and in the first commit message. It'd also be polite to be sure the initial code import is exactly the same as the previous project, so all changes are in the commit logs.

As others have said, you can only change the license to a compatible one, and you CANNOT change the copyright owners, even if you change the license. It's important to keep all the existing copyright owners' names on there and in all files they worked on.

1

Create a fork, in the initial commit and readme add something like

For of project name because of reasons. Original http://example.com/project

for an example see https://github.com/timtadh/gobuild-fork

1

I found Wim Coenen's link to the Google Code FAQ helpful. I just searched and sourceforge also has a policy for taking over abandoned projects

It seems that Sourceforge requires the current administrators to respond. I think I like the idea that if I get hit by a bus, then Google will hand over my project for me. I think I'm leaning toward Google code for this reason.

0

The big problem with taking over an ever abandoned and open source project is the problem of trust. You are unlikely to take over a popular yet abandoned project successfully without addressing the trust issue in a way that is not trivial; it is not easy and no simple solutions exist. The maintainers do not want to be responsible for what you may do with the project and becoming somebody else than "a random person from the internet" is much more difficult than may look like.

I learned this the hard way. It was twice when I tried to take over the project the current maintainer officially and openly declared abandoned.

In both cases I have done some preparatory work, attempting to show I am serious with my proposal: forked their repository, fixed some pending bug requests, implemented one of their new feature, made easy to judge that I have necessary competence to understand and maintain the code (their licenses allowed me to do all this). However in both cases I have not even received any response from the former maintainers after attempting to contact them and all this happened in the context of words "this project has been looking for a new maintainer for a long time".

I furthermore think that the trust issue currently does not receive enough attention. There was one attempt in the past to get the trust metrics in by now defunct Advogato project. Maybe something did not work as expected there, maybe it was discovered that the metrics can be manipulated - I do not know why that project has been closed. When it was successful it was likely a place where one Free software developer could check how much is another reliable. Sadly there is no alternative now.

4
  • I disagree. Ownerhsip transfer is a lot of work and one has to be exceptionally passionate to revive an abandoned project and do some unpaid work for it. I'd argue that trust is not a most relevant concern.
    – Basilevs
    Commented May 23 at 8:44
  • @Basilevs Assuming the taking over developer has already set up the own infrastructure, builds the project with no issues and seems understanding the code well on ones own, to what "a lot of work" would amount?
    – h22
    Commented May 23 at 9:45
  • A bunch of legal checks is required: license verification; proprietary code cleanup; some kind of prosecution waiver. Certificate revocations or transfer. In some legislations, export registry has to be updated.
    – Basilevs
    Commented May 23 at 14:18
  • German and Russian laws are particularly crazy in that regard.
    – Basilevs
    Commented May 23 at 14:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.