Git Migration

From Nsnam
Revision as of 07:47, 27 April 2018 by Natale (Talk | contribs)

Jump to: navigation, search

Git Migration

This page recap all the open questions for the migration to the git tool for managing source code and their answers.

We all agree on the fact that a giant, important step like this requires coordination, and the feedback/contribution of many people as possible, especially current maintainers. We do not want to worse their life quality, as they are the concrete walls on which ns-3 bases its life. The process of updating the source code management system will be split into different sequential phases. Each phase will be used as input for the next stage.

Phase 1 - 30 April - 14 May: Definition of questions to be answered: Each ns-3 users can put questions on this page that he/she would like to have it answered. The problems can have multiple points. Users can add points to each item.

Phase 2 - 15 May - 09 June: Answering of questions: Each developer starts answering the questions (even not his/her own) with his/her proposal. Each proposal can be refined, discussed on the mailing list, and so on.

Phase 3 - 10 June - 17 June: Live talks in wns3: In this week the proposal can be discussed live.

Phase 4 - 18 June - 20 June: Voting: If there are questions with conflicting proposals, the current maintainers will have a vote on what plan should be implemented.

Phase 5 - 21 June - 1 July - Implementation: The maintainers will start migrate the source code. At the end of the phase, the community will give comments.

Phase 5 - 1 July - 15 July - Implementation: Discussion, Integration, and Iteration until the final release

Phase 1 (until 14 May)

Each ns-3 user is free to add questions that he/she would like to have answered. The objective is to have a coherent set of stakeholder interests, as well as a set of design rules that take into considerations these interests. The reality is that we have a different way of working, and it is difficult to have something that is good enough for everyone. In this way, I hope to catch early enough all the doubts and the driving decision in the design process.

  1. (nat) Should we move some modules to move to contrib?
  2. (nat) What modules should we move to contrib?
  3. (nat) Define how the contrib/ modules will be fetched and compiled
  4. (nat) Define the service we will use (GitHub, GitLab, BitBucket)
  5. (nat) Define the official branches (stable releases, development)
  6. (nat) Define how the versions are managed and released
  7. (nat) Define a workflow for integrating patches:
    1. (nat) stable fixes (fixes that are for an already shipped version)
    2. (nat) development fixes/features (fixes and features for master branch)
  8. (nat) Define the accepted code review models
  9. (nat) Define the permissions of each user inside the projects (should everyone have r/w access to the repo?)

Add your question by prefixing your (recognizable) name. The questions can be reordered, and subtopic inserted until 14 May.

Phase 2

Each question of phase 1 will be answered.

Phase 3

Live talk at wns3

Phase 4

Voting on conflicting proposals

Phase 5


Phase 6

Discussion, Integration, and Iteration