views:

79

answers:

5

Hello All,

I have developed a PHP framework (MVC ofcourse) and have named it EZPHP, it is almost finished and will be made public soon.

My questions is that how do i make it open source project or what to do to make it so and where to submit it?

How to get other developers from around the globe to work on or extend this project like there are many developers from around the globe working on php and making it a superb scripting language.

In simple terms, i want to go open source with support from rest of the great developers from around the globe.

Thanks in Advance :)

+1  A: 

There is a (open copyright, freely available) book: Producing Open Source Software

Producing Open Source Software is a book about the human side of open source development. It describes how successful projects operate, the expectations of users and developers, and the culture of free software.

I've never gotten around to reading it in full, but I have heard very good things about it and it is #1 on my reading list.

Pekka
A: 

Usually to get people interested in the work you do you have to sell it to them. They have to want to help you out with what you are doing. There are no simple directions to tell you what to do.

monksy
+2  A: 

From my personal experience, SourceForge is an excellent site for open source projects.

They offer you private site hosting, forums, trackers, statistics and source control tools.

In addition you can use their community forums to find help from new developers (worked for me).

You also need to select the license under which your project will run.

I also recommending reading the Producing Open Source Software. This books has some good insights on managing OS projects.

Once you project is up on some, either on your own site or via a hosted solution (like SF), use all the common forums to spread the word and get people coming. (i.e. reddit, slashdot, etc)

Am
+2  A: 

First, you need to select an appropriate license for your application. You can create your own, but they get messy, and there are several well-known to choose from. I'd recommend starting with BSD or GPL, but only you will know for sure the right one for you. The license determines how others may use and distribute your code.

Next, you need to host your code in a way that others can contribute. This is usually done by hosting a revision control system that can be accessed by a community. For this, I'd look into an existing service, such as Sourceforge and Google Code.

Of course, these are simplified steps, but they should give you some ideas. None of this will guarantee that others contribute to your project, but at least it gives people the option. And finally, it's up to you to "market" your project so others become aware of it.

Depending on the size of your development community, you may need to dig into some deeper resources for tips on managing the project effectively. There are some good books and links in the other answers here.

jheddings
+3  A: 

Its going to take quite a large investment of time on your part. Its not just any typical open source project, its a MVC framework.

You should create a site that puts the learning curve at next to zero, similar to Code Igniter's 'blog in 20 minutes' screen cast. Go an extra step and create some bundled examples .. blog, forum, shopping cart, reddit-like news feed aggregate, etc. If you want me to try a new framework (I'm one of the people who would happily play with it and send patches), you need to give me a base from which I can dive in and build my first app by hacking your example code.

Release early, release often. Make sure your project shows up on the front page of FreshMeat once a week for a few months.

As your code is going to be the core of many applications, I suggest using a non-viral license with the least possible restrictions. The 3 clause BSD license, MIT license or Apache license would be good choices. Avoid the GPL2/3 (though LGPL 2/3 would be good) and don't even consider the AGPL.

Finally, good project management is what makes a great project. Be sure not to neglect adminstrava such as documentation, keeping bug trackers updated, making sure tests give adequate coverage analysis, etc. Nothing screams 'good investment of my free time' louder (to me) than a project that goes just a little slower in order to maintain organizational sanity .. especially when dealing with a framework.

Tim Post