开源软件鼓励软件复用,能不从头开始一个新的项目就尽量不要。
能够使用其他软件的模块,就不要自己来写。那些软件模块你或许看不上眼,但有些已经存在了几十年,已经找不到明显的bug,而你自己写的却很难保证。
开源的软件一般遵循开放的协议。
开始编码之前,先学习一下GNU编码规范。可以将GNU Hello项目作为参考。
如果你在为Linux核心贡献代码,请先参考Linux核心编码规范。
如果你是使用Python来开始项目,请先参考Python编码规范。
如果你是为Linux写程序,遇到不清楚的,要查找Linux standard base specifications。
项目完成,寻找一个项目管理站点来发布你的程序,推荐SourceForge。
尽量早发布,尽量多发布(RERO: Release Early, Release Often)。这样可以获得更多的反馈、测试、帮助和社区的接受。也可以避免如架构错误,需要从来这样的要命的问题。
如果你的项目发布,并有幸成为GNU软件的一员,你就应该参考Information For Maintainers of GNU Software对其进行维护。
还有些东西不知道如何实现?参考其他著名开源软件的实现。
如何开始编写开源软件
开源软件鼓励软件复用,能不从头开始一个新的项目就尽量不要。
能够使用其他软件的模块,就不要自己来写。那些软件模块你或许看不上眼,但有些已经存在了几十年,已经找不到明显的bug,而你自己写的却很难保证。
开源的软件一般遵循开放的协议。
开始编码之前,先学习一下GNU编码规范。可以将GNU Hello项目作为参考。
如果你在为Linux核心贡献代码,请先参考Linux核心编码规范。
如果你是使用Python来开始项目,请先参考Python编码规范。
如果你是为Linux写程序,遇到不清楚的,要查找Linux standard base specifications。
项目完成,寻找一个项目管理站点来发布你的程序,推荐SourceForge。
尽量早发布,尽量多发布(RERO: Release Early, Release Often)。这样可以获得更多的反馈、测试、帮助和社区的接受。也可以避免如架构错误,需要从来这样的要命的问题。
如果你的项目发布,并有幸成为GNU软件的一员,你就应该参考Information For Maintainers of GNU Software对其进行维护。
还有些东西不知道如何实现?参考其他著名开源软件的实现。
Categories
Feeds
Tags
Copyright © 2012 Zhigang Wang. Some right reserved.
The views expressed on this web site are my own and do not necessarily reflect the views of Oracle.