|Starting an Open Source Project|
| 4:03 pm on Jan 28, 2012 (gmt 0)|
Early on, in developing my website, I was faced with a choice: I could choose from two existing CMS packages or I could build one from scratch. I tried the first approach, spending several hundred dollars for a license to one CMS package but soon realized it had many shortcomings. I then tried its rival CMS package, spending a couple thousand on that license and found it was just as helpless. In the end I realized if I wanted to have a website that meet my needs then I would have to build it myself.
And I have; over the last year-and-a-half I've been building a CMS that I feel does a much better job than the other two closed CMS packages would ever come close to. I still have lots of work to do, but its getting there.
My major regret is I've been spending most of my time developing the software that my content has been on the back-burner. I also realized that at the rate I was developing the software that I was not going to reach my milestones on time.
I tried using freelance websites to outsource development but it hasn't always been a positive experience. I keep finding many bids from people who don't even read the job post and with little skill to actually complete the tasks. I have been working with this one developer, but he has many projects and it can be weeks between tasks.
I'm thinking about opening up and sharing my code in an effort to get other individuals with similar needs to help share the workload of developing the software. However, I just don't know where to begin.
| 3:00 am on Jan 31, 2012 (gmt 0)|
I'm not sure what you're thinking about when you're asking about where to begin, but I have two answers.
1. Technical - throw the project up on Github. It's free for open source projects and has all the tools you'll need. If you're going open source, you'll need to get it into some public version control repository and Github seems to have the momentum right now.
2. Marketing. This is the hard part. You need to sell people *why* they would a) use your package for a project when other options have longer track records, more active communities, etc, etc. and b) why they would contribute to your package when other packages are more mature, etc, etc.
#2 is the big challenge. I built a few custom CMS before committing to Drupal and Wordpress and I find I can just get a lot more done with those than starting from scratch. I always thought that I would come up with something "just right" and then be able to reuse the code, but I found ever site has so many special cases.
| 2:11 pm on Jan 31, 2012 (gmt 0)|
Thank you ergophobe. Would Github and SourceForge be the same kind of website, just Github having more momentum going for it?
When I first started this project I tried using Drupal and WordPress but it just wasn't a good fit at all; akin to forcing a square peg into a round hole. The existing programs are closed source, relatively expensive, and do the jobs very poorly. I faced these obstacles since the very beginning which forced my hand to create my own code. I'm assessing convincing skilled developers considering similar projects won't be as daunting as just trying to find them. Would I find these people using tools on Github, and maybe SourceForge, or would I need to figure out how to find them on my own?
| 9:58 pm on Jan 31, 2012 (gmt 0)|
If you prefer SVN, stick the project on Google Code.
Likewise for Git, use GitHub.
These version control systems are quite different in operation. Be sure to research the differences.
Just having some sane version control on your software and an easy way to check changes is a good start.
| 10:04 pm on Jan 31, 2012 (gmt 0)|
I think of them as being pretty different, the main thing being that Github exists pretty much for the sole purpose of collaboration and incubation, whereas I think of SourceForge projects as being more involved. I could be wrong, but I just think the barrier to getting up and running is lower with GitHub and the barrier to collaborating as lower still.
| 9:42 am on Feb 6, 2012 (gmt 0)|
There are also Gitorious and Bitbucket (supports Git and Mercurial) and others.
You can also host code yourself: I just set up Fossil for a small project and its very easy to do.
Try them, and see what suits you.
ergophone is entirely right that marketing is going to be the difficult bit. Lots of people and organisations have been disappointed because they thought all they had to do was shove code on Sourceforge and lots of people would rush to get involved.
That said, you are unlikely to lose much by opening it, and if people actually use it, at least you will get some bug reports and ideas. If you are lucky you do manage to get other developers involved.