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.
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.
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)
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.
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.
发布评论
评论(5)
这将花费您大量的时间投入。它不仅仅是任何典型的开源项目,它是一个 MVC 框架。
您应该创建一个学习曲线接近于零的网站,类似于 Code Igniter 的“20 分钟博客”屏幕截图。采取额外的步骤并创建一些捆绑的示例..博客、论坛、购物车、类似 reddit 的新闻提要聚合等。如果你想让我尝试一个新框架(我是很乐意使用它的人之一)并发送补丁),您需要给我一个基础,我可以通过破解您的示例代码来深入研究并构建我的第一个应用程序。
尽早发布,经常发布。确保您的项目在几个月内每周一次出现在 FreshMeat 的首页上。
由于您的代码将成为许多应用程序的核心,因此我建议使用限制最少的非病毒许可证。 3 条款 BSD 许可证、MIT 许可证或 Apache 许可证将是不错的选择。避免使用 GPL2/3(尽管 LGPL 2/3 也不错),甚至不要考虑 AGPL。
最后,良好的项目管理造就了一个伟大的项目。确保不要忽视管理工作,例如文档、保持错误跟踪器更新、确保测试提供足够的覆盖率分析等。对我来说,没有什么比一个进展稍慢的项目更能表达“我的空闲时间的良好投资”的声音了。为了保持组织的理智..特别是在处理框架时。
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.
首先,您需要为您的应用程序选择适当的许可证。您可以创建自己的,但它们会变得混乱,并且有几个众所周知的可供选择。我建议从 BSD 或 GPL,但只有您自己才能确定哪一个适合您。许可证决定其他人如何使用和分发您的代码。
接下来,您需要以其他人可以贡献的方式托管您的代码。这通常是通过托管社区可以访问的修订控制系统来完成的。为此,我会研究现有的服务,例如 Sourceforge 和 Google 代码。
当然,这些是简化的步骤,但它们应该会给您一些想法。这些都不能保证其他人为您的项目做出贡献,但至少它为人们提供了选择。最后,由您来“营销”您的项目,以便其他人意识到它。
根据您的开发社区的规模,您可能需要深入研究一些更深入的资源,以获取有效管理项目的技巧。这里的其他答案中有一些好书和链接。
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.
从我个人的经验来看,SourceForge 是一个优秀的开源项目网站。
他们为您提供私人站点托管、论坛、跟踪器、统计和源代码控制工具。
此外,您可以使用他们的社区论坛向新开发人员(为我工作)寻求帮助。
您还需要选择您的项目将在其下运行的许可证。
我还建议阅读制作开源软件。本书对管理操作系统项目有一些很好的见解。
一旦您的项目在您自己的网站上或通过托管解决方案(例如 SF)在某些项目上启动,请使用所有常见论坛来传播信息并吸引人们前来。 (即 reddit,斜线等)
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)
有一本(开放版权,免费提供)书:制作开源软件
我从来没有抽出时间完整地阅读它,但我听说过关于它的很多好消息,而且它在我的阅读清单上排名第一。
There is a (open copyright, freely available) book: Producing Open Source 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.
通常,为了让人们对你所做的工作感兴趣,你必须把它卖给他们。他们必须愿意帮助您解决您正在做的事情。没有简单的指示来告诉您该怎么做。
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.