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
    Dec 18, 2011 at 5:26
  • The Cathedral and the Bazaar Dec 18, 2011 at 15:52
  • 1
    Contact Apache, they have formal, sensible procedures for just about everything. Apr 11, 2012 at 1:38

3 Answers 3

30

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
    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. Dec 19, 2011 at 3:12
  • Mark Booth: You are right. Thanks for editing my answer. :-) 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
    Dec 18, 2011 at 5:08
  • 7
    Common courtesy. As well, you may get control of things other than source code, such as domain names, trademarks, websites, mailing lists etc.
    – FigBug
    Dec 18, 2011 at 7:34
  • 2
    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. 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
    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.

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.