devel-ideal-proj.rst
changeset 1334 9bf0d5a1f0cf
child 1416 f994292b3721
equal deleted inserted replaced
1333:81e09593158f 1334:9bf0d5a1f0cf
       
     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