绿野自助户外活动网站

查看: 2420|回复: 27

绿野org开放式网站开发管理制度(初稿)

[复制链接]

12

主题

123

帖子

123

积分

注册绿野,不忘初心。

Rank: 2

积分
123
发表于 2014-8-17 11:28:29 | 显示全部楼层 |阅读模式
分享到:

上周末和小李见面之后,小李对开放式网站开发管理的理念也十分认同,并嘱咐我拟一个相关的流程。为此我利用业余时间,研究了一些开源项目的开发管理方法,同时结合当前网站的实际,设计了这个管理制度的初稿,欢迎大家讨论。制度内容如下:

为了让更多的人可以比较容易的参与网站的开发,最大限度的发挥各位驴友的能力来建设我们的网站,现草拟一份开放式的网站开发管理制度。这个制度的目的,一个是为了让大家有条不紊的参与网站开发,另一个就是最大限度的减轻管理的成本,减轻每一个有心为网站做贡献的人的压力。

网站开发要解决两件事情:一是如何提出需求,二是如何实现需求。而为了大家一起来合作解决这两件事情,一是要明确贡献者的角色分类和各自的职责,二是要明确履行各个职责的时候需要遵循的规范。有了明确的职责和规范,大家一起合作才不至于乱成一团最终一事无成。

一、贡献者角色分类和职责:

普通用户:普通用户是指关心绿野org网站的活跃用户。普通用户的职责是根据自己使用网站的情况,报告网站的bug和提出网站需要实现的新功能,简而言之就是提需求。普通用户需要是可以在绿野org网站发帖的正式用户。

开发人员:开发人员是指有能力给网站贡献代码,实现某些需求的工程师。开发人员的职责是按照规定的规范来编写代码,实现普通用户提出的需求或者解决普通用户发现的bug。开发人员需要同时符合成为一个普通用户的条件,也就是说是绿野org网站的正式用户。

技术小组成员:技术小组成员是由网站管理小组选拔出来的对网站的开发质量负责的人。技术小组成员的职责,一个是整理普通用户提出的需求,和普通用户沟通和探讨需求的合理性和可行性,判断需求的优先级,保持网站功能的整体协调;另一个就是审核开发人员提交的实现需求的代码,确保代码符合规范、正确的实施了需求、代码安全没有明显的漏洞和没有恶意的木马,并且做好代码的分支管理工作。技术小组成员同时可以兼有普通用户的身份或者是开发人员的身份。

二、需求的提出和确认

任何一个普通用户都有权提出自己对网站的看法、需要做的改进和新的功能需求,又或者是报告bug。普通用户提出需求的方式是在技术小组版面发起一个主帖,主帖标题包含“[需求]”或者“[BUG]”字样,方便大家辨认。其他普通用户和技术小组的成员可以在主帖下回复来讨论该需求或者BUG,以期达成一致意见。

对于BUG来说,由技术小组确认并组织开发人员尽快解决。对于新需求,技术小组成员定期收集用户提出的新需求,给每个新需求赋予一个唯一的编号,整理出来和判断各个需求的级别(高、中、低、暂不实施、废弃),并通过在技术小组版面发帖的形式公布,从而形成一个需求实施的计划。

如果有普通用户对需求实施计划有异议,则有异议部分暂时停止实施,技术小组继续和用户沟通。当超过一个星期还无法达成一致意见时,由管理小组投票决定该需求的级别。

三、开发人员实施需求的规范

绿野org的代码放在github.com上进行公开保管。任何人都可以对其进行阅读和复制。开发人员可以从需求实施计划中挑选自己感兴趣的需求来实施,但为了让开发人员顺利的提交代码,开发人员必须要有github.com的账号。具体实施的步骤如下:

1、在github.com上对应的repository上新建一个issue,标题上指出要实施的需求的编号,内容是对实施这一需求的简要介绍,和技术小组对开发的过程和对开发结果的讨论均在这个issue上面讨论。

2、fork代码到自己的账号,然后用fork出来的代码进行开发。开发的代码需要符合相关的代码规范,同时也必须包含足够的说明文档,以便于技术小组成员审核。

3、开发人员代码开发完成,并且自己测试通过之后,再原repository上发出一个pull request。

4、技术小组成员收到pull request请求之后,对代码进行测试和审核。这个过程中发现的一些问题都在对应的issue上进行沟通。直到代码测试和审核通过为止。

5、代码通过测试和审核之后,技术小组成员通过开发人员发出的pull request请求,将代码合并到主分支。

6、技术小组成员定期发布上线分支,以将主分支上实施的功能放到测试网站进行上线前的测试。并且在技术小组版面上发布测试通过,告知新的测试网站实现了哪些新的需求。

7、所有网站用户都可以对测试网站进行测试。如发现有bug,则把所有发现的bug集中起来,由技术小组成员和对应的开发人员共同在主分支上修正bug。修正bug的流程和实施新需求一样,需要由发一个新的issue开始。然后再次发布测试版本。这个过程直到测试不再发现新的bug。接下来就可以把该分支版本直接推送到线上服务器。

8、如果任何时候遇到有比较严重紧急的bug,技术小组成员可以直接在主分支上commit代码,并且上线解决。除此之外,技术小组原则上不通过commit代码的方式来提交新的需求实现代码。

可能会有部分开发人员不太熟悉git这个版本管理工具和github.com这个网站的使用方法。对此可以参考一下知乎的这个问答:http://www.zhihu.com/question/20070065

这是一个初步拟定的规范,大家可以就此提出各种意见和建议。最后希望大家都愿意为网站贡献出自己力所能及的力量。

38

主题

253

帖子

273

积分

绿野的革命者,中间的地带。

Rank: 3Rank: 3

积分
273
发表于 2014-8-17 13:38:32 | 显示全部楼层

如何让安全可控?

"任何人都可以对其[源代码]进行阅读和复制 "


任何人 不受限制的话,如果 不那么善意的人[比如黑客]读源代码后,网站还安全吗?


外行说的话。
来自旧版论坛的签名---------
ttree

12

主题

123

帖子

123

积分

注册绿野,不忘初心。

Rank: 2

积分
123
 楼主| 发表于 2014-8-17 14:36:34 | 显示全部楼层

开放源代码对网站安全的影响不大且风险可控

首先,网站本身就是基于开放源代码的技术架构的,绝大部分源代码都可以从相关开源项目上了解到。
其次,我们本身提交的代码会通过技术小组成员的审核之后才能被接收,审核的过程会把不安全的因素过滤掉。
最后,即使网站不开源,同样存在黑客入侵的风险,这方面已经有很多先例。开源之后还方便好心的黑客帮我们及时发现系统漏洞并告知我们。而且网站后台会定期备份数据,万一网站被黑客入侵,我们都能够以最快的速度将漏洞补上并且把数据恢复过来。而且用户密码信息在数据库上用密文保存,只要密码的安全性足够强,黑客也无法获知用户的密码信息。

17

主题

297

帖子

363

积分

绿野的革命者,中间的地带。

Rank: 3Rank: 3

积分
363
QQ
发表于 2014-8-17 15:02:00 | 显示全部楼层

赞! 这个必须支持一下,楼主身体力行!

爬山的好像从事IT的挺多的,众人拾柴火焰高!
发表于 2014-8-18 10:59:03 | 显示全部楼层

是一个好东西。不知道现在有多少技术宅男在绿野。:)



希望有更多的技术合伙人出现,并加入到技术小组,从而成为一个团队。

绿野做为一个有影响力的网站,希望能吸引到一个喜欢git的人群来这里进行练手。

[sign]
[size=small]心中之火,永不熄灭!!!
[size=small]点击看小狼[/sign]

412

主题

8789

帖子

1万

积分

绿野元老,传、帮、带。

Rank: 8Rank: 8

积分
10813
发表于 2014-8-18 16:27:14 | 显示全部楼层

第一、二部分能看懂,感觉很好!

第三部分不懂:(

担心一个问题:在有人提出bug,开发人员解决bug的过程中,会不会影响网站的正常使用?
来自旧版论坛的签名~望峰息心~
发表于 2014-8-18 17:13:36 | 显示全部楼层

高效、热心的quick,支持!

[sign]喜欢扎营,喜欢拍照,喜欢慢慢走......
我的博客:http://jianaiwang.blog.sohu.com[/sign]

12

主题

123

帖子

123

积分

注册绿野,不忘初心。

Rank: 2

积分
123
 楼主| 发表于 2014-8-18 19:02:17 | 显示全部楼层

第三部分是需要一点专业知识才能看懂的,不过对IT工程师来说,应该不难理解的

开发新功能和修改BUG的过程中,线上运行的网站的程序是不会改变的,也就是说,一定不会影响到当前网站的使用。线上运行的网站的程序,只有经过上线流程才会被更新。
而上线的流程已经包含在第三部分里面了。被更改的代码,首先要放到测试网站上,经过大家的测试,确保没有问题了,然后才能把测试网站上的代码替换到线上运行的环境上去。

47

主题

1254

帖子

1289

积分

绿野投名状,终生免死牌。

Rank: 6Rank: 6

积分
1289
发表于 2014-8-19 10:40:54 | 显示全部楼层

好想法!

来自旧版论坛的签名:-D  :-D 相聚于山野,相忘于江湖。 :pint:
发表于 2014-8-20 16:25:08 | 显示全部楼层

打勾鼓励:)

来自旧版论坛的签名登山,以一种艰难的方式消磨时光
绿野org开放式网站开发管理制度(初稿) yyquick 2014-08-17
如何让安全可控? 茶树 2014-08-17
开放源代码对网站安全的影响不大且风险可控 yyquick 2014-08-17
赞! 这个必须支持一下,楼主身体力行! 爱吃馒头 2014-08-17
是一个好东西。不知道现在有多少技术宅男在绿野。:) 小狼 2014-08-18
第一、二部分能看懂,感觉很好! 花鼎 2014-08-18
第三部分是需要一点专业知识才能看懂的,不过对IT工程师来说,应该不难理解的 yyquick 2014-08-18
高效、热心的quick,支持! Jane简 2014-08-18
好想法! 中山狼 2014-08-19
打勾鼓励:) 卡尔松 2014-08-20
搞不好是因为现在这帮把持网站的人不行,在换掉他们之前别瞎耽误自己功夫。娱乐一下是可以的 流云 2014-08-23
写的不错,不过绿野组织别人干活很难,基本没有可实施性,还是自己把这些都干了靠谱。 久点 2014-08-24
有开源网站可用,为啥还要开发,运用现有的开放论坛,符合绿野开放的原则。 孤灯 2014-08-28
因为每个网站都有不同的需求 yyquick 2014-08-29
github 挺时尚的 红狐 2014-08-28
风险还是有的 红狐 2014-08-28
感谢你的建议! yyquick 2014-08-29
以往有打着贡献代码的名义,主观故意的植入恶意代码,道高一尺魔高一丈,只要发生一例.... 红狐 2014-08-29
我们有定期备份数据的 yyquick 2014-08-29
openssh的四个主要开发者都是完全公开的,什么背景什么来历;植入恶意代码,和账号安全紧密相关,审核未必能审核出来, 红狐 2014-09-10
好久没上绿野的飘过, ading 2014-09-04
想法不错, 我个人赞同普通用户反馈部分, 不赞同开源开发 Wood 2014-09-09
你说的情况基本上只是一种假设。实际情况是很难发生的。 yyquick 2014-09-09
我不是很理解你的原地踏步的推断的论据是什么. 相反, 多年以来我一直期望绿野org的演进 Wood 2014-09-10
有行动至少就是一种姿态,比在那抱怨或者冷言冷语的强一万倍 suxiaoyu 2014-09-11
最后回复一次,呵呵 Wood 2014-09-12
github 确实挺时尚的 sutrip 2014-10-10
谁是代码贡献者? 笑对人生_ 2015-11-12
快速回复 返回顶部 返回列表