29

There's an open-source project that I'm interested in and use regularly. It's licensed under the Apache License 2.0 and it has basically no activity any more. It's hosted on Google Code and I'm interested in continuing it's development. I'm new to the open-source process and I'm trying to figure out the appropriate way to go about this. Can I just check it out and push it to github so I can continue it's development in the open there? Should I contact the project "owner" first? Also, do I leave all the author information at the top of the classes, etc even though I'm going to be making changes..(I'm assuming the answer is yes)?

Also, how do I practically adhere to the license requirement of "all modifications are clearly marked as being the work of the modifier"? Do I place a comment by every change I make?

Any guidance on what's the normal course/standard here would be greatly appreciated?

3
  • 2
    Does the project still have an active community?
    – user131
    Commented Dec 18, 2011 at 5:26
  • The Cathedral and the Bazaar Commented Dec 18, 2011 at 15:52
  • 1
    Contact Apache, they have formal, sensible procedures for just about everything. Commented Apr 11, 2012 at 1:38

4 Answers 4

31

Recently, I took over an open-source project. The steps that I followed are:

  1. Contact the original author
  2. Let him/her know my intentions
  3. Get acknowledged by him/her (you will either get the rights to the original repository or you will get to clone it)
  4. Retain original authorship (will be adding myself when I make further changes)

By "Retain original authorship"... I mean to credit the original author above myself in all cases as it is originally his/her work.

3
  • 1
    What do you mean by "Retain original authorship (will be adding myself when I make further changes)"?
    – LuxuryMode
    Commented Dec 18, 2011 at 21:19
  • I meant to credit the original author above myself in all cases as it is originally his/her work. Commented Dec 19, 2011 at 3:12
  • Mark Booth: You are right. Thanks for editing my answer. :-) Commented Dec 19, 2011 at 12:14
7

You should fork the project, perhaps into GitHub.

Alternatively, you can try to contact the original author.

4
  • 1
    Thanks a lot. I emailed the original author. Just wondering, is there any reason I HAVE to contact him or is it just common courtesy? In terms of the license, I'm free to do what I want as long as I adhere to it, right? Also, I spoke too soon. Apparently the original repo is in mercurial. Should I just use the hg-git mercurial plugin: hg-git.github.com ?
    – LuxuryMode
    Commented Dec 18, 2011 at 5:08
  • 8
    Common courtesy. As well, you may get control of things other than source code, such as domain names, trademarks, websites, mailing lists etc.
    – FigBug
    Commented Dec 18, 2011 at 7:34
  • 3
    It used to be that forks were considered bad. It was always seen as best to contact the original developer and be polite. The githib philosophy is that forks are cheap and everyone should fork. After all, under a DVCS, everything is a fork. Hence why you see these different views. Commented Dec 18, 2011 at 17:01
  • 1
    Users hate forks, with a fork you will not get the project's former traction, user base, testers, compiled-versions contributors/porters. You generally want them. The way of the github (gihub-do) is best for interpreted stuff that's not aiming at binary distribution. And you still will lose very skilled people that simply prefer hg and don't care nigh about git. (yeah, religious wars, bleargh)
    – ZJR
    Commented Dec 19, 2011 at 14:54
6

There are many ways to go about doing this:

  1. Email the original "owner/author". Tell him about your intentions and how you can help development. Wait about 1 week. If there is no answer...
  2. Fork the repository. Out of respect, and to make sure you did nothing wrong (which you probably didn't) make clear reference to the original author.
  3. Get coding! You are now the the proud developer of Project ABC.
1

While it may be polite and nice to contact the original author and obtain the permission, open source licenses exists for the reason. Imagine the following license:

Permission hereby granted to use this code, but without making independent distributions without the authors approval. The author also reserves the right to set the project "read only" after that no further development of it is allowed.

Could it be such a license? Yes, beyond doubt. Would OSI qualify such a work as Open Source? Likely not. Should such project benefit from numerous priveledges the open source projects benefit, such as using free web services intended for open source, being presented in open source conferences, being included into various listings and directories? Likely it should not. Would all the same bug reports and pull requests have been received from the users knowing this is not the open source project? Likely not.

As a result, while it may be nice to contact the author and obtain the permission, this permission normally should not be required. The most the author can ask is to rename the project, and also remove names and images that would lead to confusion, if it is a forked version or original. Even here there are limitations, like "java" is a trademark, for instance, but Supreme Court ruled out Google does not need to rename all packages to get rid of the word where changing it would break technical compatibility with the user code.

P.S. Some open source licenses may require to follow specific rules you would better care about from beginning, like documenting all changes made in the code. Read the license of the project carefully.

1

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.