嗨,我是一名计算机科学专业的学生,目前正在大学学习,并且对开发开源软件特别是ubuntu非常感兴趣。
例如,我仔细阅读了Python的官方教程和文档,并且很高兴能写有用的应用程序。Ubuntu或unity是否有等效的产品?我尝试下载alpha 2,put每5分钟崩溃一次。我在IRC中被告知,这是由于Xorg堆栈发生了变化。
现在我什至看不到新的Unity,更不用说帮助开发它了。
任何帮助或指导表示赞赏。
嗨,我是一名计算机科学专业的学生,目前正在大学学习,并且对开发开源软件特别是ubuntu非常感兴趣。
例如,我仔细阅读了Python的官方教程和文档,并且很高兴能写有用的应用程序。Ubuntu或unity是否有等效的产品?我尝试下载alpha 2,put每5分钟崩溃一次。我在IRC中被告知,这是由于Xorg堆栈发生了变化。
现在我什至看不到新的Unity,更不用说帮助开发它了。
任何帮助或指导表示赞赏。
Answers:
为Ubuntu开发
感谢您的关注。只是一些澄清。没有什么比Ubuntu软件更好(我知道您不是故意的)。所有特定于Ubuntu的更改也可以在其他发行版中使用。他们的包装商必须包装它。
Alpha 2崩溃
Natty仍在开发中,并且仍在进行Xorg转移。我建议您开始研究稳定版本。采用Maverick (10.10)
您的开发工作。这样,您将花费更多的时间来开发应用程序,而不是遇到alpha错误。
如果您想为Natty
或做贡献Unity
,那么您肯定需要运行Natty Alphas。
统一开发
如果您想为Unity开发,那么您需要获得Natty并签出源代码。
bzr分支lp:unity
在checkout分支中有一个文件,用于解释其依赖项以及如何构建它。
如果要将代码放入统一主树中,则需要签名。Canonical Contributer Agreement
不需要每次提交代码时都对其进行签名。一旦足够
Unity Bitesize错误
参与其中的最佳方法是修复Unity中的小错误。豪尔赫·卡斯特罗(Jorge Castro)会定期发布Bitesize摇滚明星的名单。这是一个咬过的bug的列表,您可能想Jorge Castro
与之交谈(IRC上的jcastro在#omg!ubuntu!等频道上-他还经常在Ask Ubuntu聊天中闲逛),如果您需要其他帮助,可以在开始之前进行讨论。
在Ubuntu上开发
正如伯利指出的那样, Quickly
是开发的绝佳工具。它照顾很多事情。在Ubuntu上使用它非常容易,因为它已与Ubuntu开发平台(如Launchpad,PPA等)集成在一起
快速处理样板代码并为您提供模板。就像包装一样。由于每LWN文章
Released template is ubuntu-project, which automates working
with Ubuntu-compatible code (using Bazaar for version control,
Debian packaging, and Launchpad.net Personal Package Archives (PPA)
for releases).
您也可以在Ryan Paul的Ars Technica文章中阅读有关此内容的信息。
选择语言
如我所见,Python是最著名的开发选择。我可能是错的,因为许多人也喜欢在Gtk / C或Boost / C ++上进行开发。
还有其他语言,例如Vala,可以使用它们使用本机应用程序,但使用高级语言。
如果您知道的话C#
,您可以使用它来使用Gtk#for UI创建应用程序。
这有点相关,我在讨论是否发布。
学生进入开源开发(并查看您在Ubuntu中显示的代码)的最简单方法之一就是参与Google Summer of Code。在现有软件中添加新功能是您不会在学校获得的一种体验,但是它将改变您看待编程的方式。学生参与者与来自开源项目的导师配对,他们将帮助他们入门并帮助他们解决难题。
另外,您获得报酬,履历表上看起来不错。很好的经验。我强烈建议您检查一下。
一个很好的起点可能是Ubuntu Wiki。特别是对于Unity来说,请看Ayatana项目
https://wiki.ubuntu.com/Ayatana
[编辑]如果您喜欢Python,还可以快速查看
这是一个项目管理系统,具有一些特殊功能,例如在launchpad.net上打包和分发源代码,这也是查找信息的好地方