devel-ideal-proj.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Wed, 20 Jul 2011 10:51:44 +0300
changeset 897 b4d7d3091494
parent 738 969b166d66ce
child 899 7b4265c8d324
permissions -rw-r--r--
Move info abput proj siles into separate file.

-*- mode: outline; coding: utf-8; fill-column: 80 -*-

* Ideal software development model.

This file mainly discuss about open source software project.

* Open source.

Open source software project have freedom how develop project and which
development toolchains use.

* Close source.

Close source projects have proprietary nature because of:

 * interest to make money (another parties can not easily reproduce project or
   steal realisation ideas/code, allowing another party get same product and get
   company money)
 * low code quality (to stop stain company good name or to stop malicious
   attacks based on code analysis)
 * security consideration (to hide protocols and data format to make harder
   malicious attack)
 * business model (closed data formats allow vendor lock)

Disadvantage of closed source project (in many case):

 * you can not directly contact with developers (only through support)
 * low support quality
 * paid support (and you have no enough money)
 * can not access to product bug tracing system (you only can submit bug via
   crash report application or technical support, publicly appear internal bug
   tracing can damage product reputation

* Component of software project.

 * Src (sources).
 * Doc (documentation).
 * VCS (version control system).
 * BTS (bug tracking).
 * News (project news/history/changelog).

* Docs.

TODO

* Project home page.

Project home page must provide:

 * project name
 * short info about project goal
 * project license
 * current project status
 * links to binary release
 * links to source release, how to get latest source from VCS
 * links to online/printed docs
 * how report bug (BUGS)
 * where send patch
 * contact info

Additionally:

 * help welcome, requirement to join to project
 * mail/news list for users/developers, how to subscribe/unsubscribe, where
   find archive, how search for keyword in archive
 * project history (NEWS, ChangeLog)
 * project policy (HACKING)
 * how build project (README, INSTALL)
 * list of contributor with contact info (MAINTAINERS, AUTHORS)
 * who use project

* VCS.

TAGS: VCS, version control system, SCM, source code management, DVCS,
      distributed version control system.

 * CVS
 * SVN
 * Mercurial (hg)
 * git
 * bazaar