[haiku-development] Re: Moving away from Subversion (pt 3)

  • From: Niels Reedijk <niels.reedijk@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Tue, 14 Sep 2010 11:45:00 +0200

Hi guys,

Here the job description for the task force based on the comments. If
anything is missing, please let me know. Furthermore, anyone
interested in participating?

STARTNOTITIE Taskforce Development Model Evaluation
Version 1. September 14, 2010

This page will describe the scope of the team that will prepare a plan for the
the improvement of the development model. The content of this document has
been based on three email discussions that happened on the haiku-development
mailing list [1].

 * Proposal: Moving away from Subversion [2]
 * Moving away from Subversion, pt. 2 [3]
 * Moving away from Subversion (pt 3) [4]

This document will describe the identified requirements, set up some notes on
potential implementation pitfalls, and provide a draft working plan for the
task force.

The document is intentionally kept short and simple.

OBJECTIVES

The centralized development model has suited the Haiku project well. The
subversion repository can be said to be the heart of the Haiku development.
However, subversion has several issues that hinder development in some ways.
There are two main problems with the current development model.

 1. For non-core developers, or junior-developers without access to the
    Subversion repository, the method for contributing changes is through text
    based patches that are distributed through the mailing lists, or through
    the issue tracker.[5] Unfortunately it seems that patches seem to 'get
    lost' in the issue tracker [6] and it has been suggested that this is in
    part because of the challenges involving the use of text-based patches.

    The task force should investigate whether an alternative flow of patches
    will improve the speed and quality of contributions being integrated into
    the mainline.

 2. Subversion's centralized development model has several drawbacks that have
    been highlighted by the popularization of distributed version control
    systems [DVCS]. The primary drawback is that development of large new
    features does not work in mere patch form. Attempts to create parallel
    development using Subversion branches were unsatisfying. [7] Merging was
    terse and problematic, and it is virtually impossible for third parties to
    test the changes within other branches. Furthermore, this mode of
    development is not available for contributors that do not have subversion
    access. This hinders parallel development.

    The task force should investigate whether the current use of subversion can
    be augmented to overcome the issues that currently limit its use, or
    whether there are alternatives that satisfy the needs of the developers.

CONSIDERATIONS

In the report of the task force, at least the following considerations need to
be taken into account.

 * The changes should have a short learning-curve for developers, testers and
   users, while at the same time catering the interests of power-users. The
   task force should aim for the lowest impact for all users.
 * Attention should be paid to the impact on the current infrastructure. What
   does it mean to implement these changes? Does the current toolset (Drupal,
   Trac) need to be expanded, or replaced?
 * The taskforce should also investigate whether outsourcing of a particular
   infrastructure is an option. Services like github.com or bitbucket.org,
   which focus on a particular tool, could be used in addition or instead of
   the current systems.

SCHEDULE

 * The task force will round up an overview with one or more options. [2 weeks]
 * A round of community input will be solicited [2 weeks]
 * The plan will be adjusted according to the input [2 weeks]
 * The task force put out a final plan, which will be voted on (if necessary)
 * The task force will implement the solution.


[1] //www.freelists.org/list/haiku-development
[2] 
//www.freelists.org/post/haiku-development/Proposal-Moving-away-from-Subversion
[3] 
//www.freelists.org/post/haiku-development/Moving-away-from-Subversion-pt-2
[4] 
//www.freelists.org/post/haiku-development/Moving-away-from-Subversion-pt-3
[5] http://dev.haiku-os.org/
[6] 
//www.freelists.org/post/haiku-development/Patch-Queue-Low-hanging-fruit
[7] http://dev.haiku-os.org/browser/haiku/branches/developer/zooey/posix-locale

Other related posts: