谈谈去那里找开源项目

简介:

前言

什么时候开始接触开源这个词呢?貌似,是某老师一直有提,但是,一直没有教我们如何参与开源项目,哎..估计大学老师都这样子了.后来,学习如何使用cvs,svn,git,mercurial等等工具以后,终于,了解开源项目的整个管理以及参与的流程,走了不少弯路,不过,弄懂了还算不错.在我学会使用版本控制器以及,那些网站提供开源服务,还有那些开源的项目如何下载的时候,曾经尝试过在学校开展一下开源项目活动,利用code google 进行代码的管理,google小组进行讨论,gmail进行交流,可惜的是,到最后,大家连个svn都用不好,最后,不了了之.我后来思考了一下,造成这样的原因,首先,大家对于新鲜事物的接受能力不强,他们对于协同工作的理解是用U盘把代码拷来拷去方便直接.不愿意学习什么是版本号,什么是版本分支,什么是合并,以及如何解决代码冲突,觉得还不如用U盘直接拷代码来得方便.其次,就是老师,连老师都不会赖得教版本管理,也就只有等我们出去工作的时候才知道有这么一样东西,白白浪费了最重要大学那几年学习开源项目的黄金时间. 

寻找开源项目

一般而言,我们都是在我们使用某技术以后一段时间,才发现原来是开源的,然后,才去下载.有些开源软件有自己搭建的服务器,不过,对于,大部分开源项目都是使用专门的托管网站进行管理.所以,高效的寻找那些开源项目,了解有那些项目托管网站就非常必须

Code Google

  支持的版本控制器   使用友好度
SVN Git Mercurial  
支持 支持 支持

在这么多的项目托管网站中,我个人感觉,code google是最简单,首先,它提供的丰富齐全的帮助文档,不但如此,这些帮助文档很多都有相应的中文版本,对于,那些初次接触同学来讲,实在是一个很好的学习机会,不过,有一点值得注意的是,在正常的渠道下,你是永远都获取不到项目的密码,这点,我相信学编程都知道,除了密码这点,其它都可以无障碍使用.

Souceforge

  支持的版本控制器   使用友好度
SVN Git Mercurial  
支持 支持 支持

对于,Souceforge历史,我不是很理解,只是接触的很多开源项目都使用Souceforge进行托管,Souceforge的使用相对于code google就有点复杂了,而且,文档全是英语,对于英语苦手而言实在有些难度.

Github

  支持的版本控制器   使用友好度
SVN Git Mercurial  
不支持 支持 不支持

很多知名的开源的软件都使用了Github进行托管,免费账号提供300m.不过,个人对于git不是很熟悉,就不做过多的评价.

CodePlex

  支持的版本控制器   使用友好度
SVN Git Mercurial  
支持 不支持 支持

微软旗下的一个项目托管网站,文档依然只有英语,不过MSDN有某些项目中文的介绍,微软的项目偏多,学习微软那些技术的同学必去的一个项目托管网站.

Codeproject

  支持的版本控制器   使用友好度
SVN Git Mercurial  
不支持 不支持 不支持

看了一下,算不上一个传统意义上的项目托管网站,因为,我注册了一个号找了很久,到找不到一个新建项目的选项,里面的开源项目的代码也找不到一个用版本控制器下载的链接.我就姑且把这个网站定位为一个用项目来进行广泛讨论的网站,因为,这个网站,更多的是讨论,还是讨论,例外还有一些教程,可以说得上是一个很好的学习网站.额外说一下.这个网站的讨论区,还提供了中国版块…

怎么都是些国外的?其实,我们中国也有类似的托管网站,例如淘宝的淘蝌蚪,盛大的Teamhost,不过,鉴于上面的项目还比较少,所有就不做过多介绍.

最后,知道有这些网站以后,还怕没有优秀的开源项目学习吗?

知道这些网站以后,你还需要一款专门的软件.

如果你是使用eclipse的可以参考我收集的eclipse下这些项目控制器的相应的插件

http://youxilua.blog.51cto.com/3357586/773011
 

闲聊一下版本控制器

对于版本控制器的使用,都可以用来写书了,网上这部分教程也很多,这里就不做过多的介绍,下面说下我的感想.

版本控制器可谓是入门容易,使用难,精通更是难上难.版本控制的入门,就是知道如何使用这个工具进行下载,相信这点会软件操作都会使用.但是,使用起来就有点考究了.这里的使用,是利用版本控制器,进行项目托管.如果,你是几个人开发一个软件,不想用U盘直接把代码拷来拷去这样的开发,就需要懂的用版本控制器,进行代码的管理.版本控制器的难用的地方,就在于几个人同时修改了一段代码,以及,其他人更新的时候,旧代码与新代码发生冲突等等各种蛋疼的问题,往往让一些经验不是很丰富的同学,直接放弃学习版本控制器,重新使用u盘拷来拷去.至于精通,那就是要学会如何使用各种托管网站的服务,利用这些服务,进行代码的改错,bug的追踪等等,当然,学会本地搭建服务器也是必备的技能. 



本文转自 liam2199 博客,原文链接: http://blog.51cto.com/youxilua/773007  如需转载请自行联系原作者
相关文章
|
6月前
|
Cloud Native Go 开发者
如何通过开源项目学习编程?
如何通过开源项目学习编程?
90 0
|
12月前
|
设计模式 JSON 前端开发
我的开源项目与开源经历分享
一位93年的前端开发者从一个开源门外汉变成了一个开源发起者,项目已经1K+ Star,分享一下自己的开源项目和开源历程,供大家参考。
|
12月前
|
前端开发 JavaScript Java
有哪些值得学习的spring boot开源项目;默默无闻但有趣的编程语言; 面试的时候怎么介绍项目经验比较出彩|极客观点
有哪些值得学习的spring boot开源项目;默默无闻但有趣的编程语言; 面试的时候怎么介绍项目经验比较出彩|极客观点
|
消息中间件 存储 设计模式
聊聊如何学习开源项目
工作几年的程序员同学,有了一定的项目经验,对于编程也有了自己的理解,但他们偶尔也会感到困惑,不知道接下来该如何提升自己。 在笔者看来:"这个阶段的程序员最需要的是提升自身编程能力和视野高度,而学习开源项目是最有效的方法之一"。
聊聊如何学习开源项目
|
消息中间件 Dubbo 应用服务中间件
今年我读了四个开源项目的源码,来分享下心得(下)
今年我读了四个开源项目的源码,来分享下心得(下)
今年我读了四个开源项目的源码,来分享下心得(下)
|
消息中间件 Dubbo NoSQL
今年我读了四个开源项目的源码,来分享下心得(上)
今年我读了四个开源项目的源码,来分享下心得(上)
今年我读了四个开源项目的源码,来分享下心得(上)
|
设计模式 开发框架 Java
设计模式: 实际场景的落地应用(含开源项目和生产环境实践)--持续更新中
设计模式: 实际场景的落地应用(含开源项目和生产环境实践)--持续更新中
870 2
设计模式: 实际场景的落地应用(含开源项目和生产环境实践)--持续更新中
|
Android开发 iOS开发 开发者
初学者指南:为开源做贡献
当我刚开始做Rails开发者时,我认为所有的Rails gems都是魔法。一些聪明人正在制作这些牛逼的类库让我使用!我不知道这些类库有多少可以使用,我认为它们是好的。它们运行着,并做了我需要它们做的工作。它们好像如此深奥、被想出来,以致于我甚至不知道该如何为它们贡献力量,即使我想!
129 0
初学者指南:为开源做贡献
|
前端开发 JavaScript API
如何阅读大型前端开源项目的源码,授人以鱼不如授人以渔
目前网上有很多「XX源码分析」这样的文章,不过这些文章分析源码的范围有限,有时候讲的内容不是读者最关心的。同时我也注意到,源码是在不断更新的,文章里写的源码往往已经过时了。因为这些问题,很多同学都喜欢自己看源码,自己动手,丰衣足食。
1705 0