|
1 .. -*- coding: utf-8; -*- |
|
2 .. include:: HEADER.rst |
|
3 |
|
4 ====================================== |
|
5 Ideal softwaare development project. |
|
6 ====================================== |
|
7 .. contents:: |
|
8 |
|
9 About ideal software development model. |
|
10 ======================================= |
|
11 |
|
12 This file mainly discuss about open source software project. |
|
13 |
|
14 Open source. |
|
15 ============ |
|
16 |
|
17 Open source software project have freedom how develop project and which |
|
18 development toolchains use. |
|
19 |
|
20 Close source. |
|
21 ============= |
|
22 |
|
23 Close source projects have proprietary nature because of: |
|
24 |
|
25 * interest to make money (another parties can not easily reproduce project or |
|
26 steal realisation ideas/code, allowing another party get same product and get |
|
27 company money) |
|
28 * low code quality (to stop stain company good name or to stop malicious |
|
29 attacks based on code analysis) |
|
30 * security consideration (to hide protocols and data format to make harder |
|
31 malicious attack) |
|
32 * business model (closed data formats allow vendor lock) |
|
33 |
|
34 Disadvantage of closed source project (in many case): |
|
35 |
|
36 * you can not directly contact with developers (only through support) |
|
37 * low support quality |
|
38 * paid support (and you have no enough money) |
|
39 * can not access to product bug tracing system (you only can submit bug via |
|
40 crash report application or technical support, publicly appear internal bug |
|
41 tracing can damage product reputation |
|
42 |
|
43 Component of software project. |
|
44 ============================== |
|
45 |
|
46 * Src (sources). |
|
47 * Doc (documentation). |
|
48 * VCS (version control system). |
|
49 * BTS (bug tracking). |
|
50 * News (project news/history/changelog). |
|
51 |
|
52 Project home page. |
|
53 ================== |
|
54 |
|
55 Project home page must provide: |
|
56 |
|
57 * project name |
|
58 * short info about project goal |
|
59 * project license |
|
60 * current project status |
|
61 * links to binary release |
|
62 * links to source release, how to get latest source from VCS |
|
63 * links to online/printed docs |
|
64 * how report bug (BUGS) |
|
65 * where send patch |
|
66 * contact info |
|
67 |
|
68 Additionally: |
|
69 |
|
70 * help welcome, requirement to join to project |
|
71 * mail/news list for users/developers, how to subscribe/unsubscribe, where |
|
72 find archive, how search for keyword in archive |
|
73 * project history (NEWS, ChangeLog) |
|
74 * project policy (HACKING) |
|
75 * how build project (README, INSTALL) |
|
76 * list of contributor with contact info (MAINTAINERS, AUTHORS) |
|
77 * who use project |
|
78 |
|
79 Docs. |
|
80 ===== |
|
81 |
|
82 TODO |
|
83 |
|
84 VCS. |
|
85 ==== |
|
86 |
|
87 TAGS: VCS, version control system, SCM, source code management, DVCS, |
|
88 distributed version control system. |
|
89 |
|
90 * CVS |
|
91 * SVN |
|
92 * Mercurial (hg) |
|
93 * git |
|
94 * bazaar |
|
95 |