Wednesday, October 23, 2013

Open sourcing Social Photos

I have been working on a lot of open source projects lately (chromium, AOSP, ffmpeg, etc.) and I have had this tremendous change in the way i look at software projects now. I am all the more convinced that open source is the only right way of doing software.

With that in mind, I've made a pledge to myself that no matter what I do, I am going to put the source out there. As a first step, i'm open sourcing the one big project of mine, Social Photos.

The source can be found here: https://github.com/vickyg3/social-photos

It is a snapshot of the one that's currently powering the live site: http://socialphotos.net (with API keys redacted). Feel free to fork and use as you please. Although i'd appreciate a link back, it's not mandatory. Also, i'll be more than happy to look at Pull Requests.

One of the main reasons that developers (including myself) don't post our code out there is that we are ashamed of our code. I was really ashamed by the number of hacks i did in this project that i couldn't even think of making it public. I'm over it. I'm ready to accept people fixing my mistakes.

Happy Coding!



-Vignesh

4 comments:

  1. Very good.

    Congratulations.

    I too had this shame-to-share mindset when I started but I am happy to share even if I have mistakes. There was a nice talk on this topic http://www.youtube.com/watch?v=0SARbwvhupQ

    However there are certain inhibitions that I have when I start a project, so I am careful to not share projects when I am starting them. I share them only after it reaches a good state (a testable milestone). This helps in avoiding too many people early on who may distract from the core direction that we want to take.

    ReplyDelete
  2. I just saw that your code does not have an explicit license. If you want to choose a liberal license, you can license it under Apache or MIT license so that anyone benefit from it.

    Usually I try to license my code in http://creativecommons.org/publicdomain/zero/1.0/ which means public domain. The code can be used by anyone for anything but I (the author) will not be liable for anything done with it.

    So mention the license under which you are opensourcing your work, in the README.

    ReplyDelete
    Replies
    1. Yes, I was supposed to do this, forgot somehow. I intended to put this in public domain.

      Delete
  3. Good move Vignesh. Came across one of an interesting blog comment on why we should open source. Quoting that here:

    "We have been benefited a lot from open source everyday, and it is only fair when we contribute something back, which is an important goal in itself.

    Second, building open source tools helps us hone our coding skills. The fact that we have to release the source code in public forces us to code better with good documentation.

    Finally, developers are early adopters of technology. Open source tools help in gaining developer credibility and reputation in open source world."

    ReplyDelete