Quy tắc đặt tên phiên bản của NukeViet

Được thêm vào: 01:40 ICT Thứ năm, 24/06/2010

Việc đặt tên phiên bản dùng để quản lý khi phát hành NukeViet. Kể từ phiên bản NukeViet 3.0 phát hành lần đầu tiên năm 2010, NukeViet phát hành dòng phiên bản mới, sau đó, theo chu kỳ mỗi 3 tháng NukeViet sẽ phát hành một phiên bản nhỏ, và nếu là phiên bản lớn thì khoảng thời gian này là 6 tháng. Kế hoạch phát hành phiên bản sau được xây dựng từ trước khi phát hành phiên bản trước đó. NukeViet sử dụng 2 hệ thống đặt tên song hành với các quy tắc như sau:

I. Đánh tên phiên bản theo số (Phục vụ việc quản lý kỹ thuật):

NukeViet đánh chỉ số phiên bản theo quy tắc: major.minor.build[.revision]

major: Chuỗi phiên bản chính, 1 chữ số.
minor: Chuỗi phiên bản phụ, 1 chữ số.
build: Chuỗi phiên bản cấu tạo. Đánh dấu sự khác nhau trong cùng 1 phiên bản phụ, 2 chữ số.
revision: Lần sửa đổi. đánh dấu lần sửa đổi của mã nguồn.

    Chỉ số major sẽ tăng mỗi khi:

    - Có sự thay đổi lớn trong nhân hệ thống mà theo đó hệ thống mới có thể khác 1 phần hay hoàn toàn hệ thống cũ.

    Chỉ số minor sẽ tăng mỗi khi:

    - Có sự thay đổi phần core hệ thống mà không làm mất đi hoàn toàn tính tương thích trong cùng phiên bản chính.

    Chỉ số build sẽ tăng mỗi khi:

    - Có đóng gói gửi đi ra ngoài đội code nhằm các mục đích phát hành, thử nghiệm... (kể cả việc phát hành các phiên bản Closebeta, Openbeta, RC, Official version)

    Chỉ số revision có thể được sử dụng mỗi khi:

    -Cần thay thế code phát hành trước đó mà chưa cần thiết phải thay tên phiên bản. Chỉ số này là lần sửa đổi (revisions) của mã nguồn, nó đánh dấu số lần sửa đổi của mã nguồn NukeViet và được hệ thống kiểm quản lý mã nguồn của NukeViet trên Google Code tự động kiểm soát tại đây: http://code.google.com/p/nuke-viet/source/list

    Lưu ý: Kể từ tháng 9/2012 NukeViet chuyển kho code sang Git và sử dụng Github làm kho lưu trữ chính. NukeViet bổ sung thêm Nguyên tắc quản lý kho code NukeViet trên Github. Thông tin về việc này có tại đây: http://nukeviet.vn/vi/news/nhom-phat-trien/NukeViet-da-hoan-tat-ke-hoach-chuyen-doi-kho-code-sang-Github-118/
    Chuỗi chỉ số revision có thể sẽ được loại bỏ sau khi chuyển sang Git.

      II. Đặt tên theo mức độ ổn định (Phục vụ việc quản lý phát hành các dòng phiên bản mới hoặc phiên bản đặc biệt)

      1. Tên gọi cho các phiên bản mới phát hành: Closebeta, Openbeta, Release Candidate, Official version. Ý nghĩa của từng phiên bản như sau:
        1. Closebeta: Phiên bản thử nghiệm hạn chế.
          • Đặc điểm: Bản closebeta là bản thử nghiệm các tính năng mới phát triển, nó thường không mang đầy đủ các đặc điểm của hệ thống và dễ dàng thay đổi hoặc bị loại bỏ nếu nhận được các phản ứng không tốt sau khi thử nghiệm.
          • Ý nghĩa: Phiên bản này được sử dụng để khảo sát một hoặc một vài tính năng mới xây dựng nào đó của hệ thống (khi chỉ số x thay đổi).
          • Mục đích: Bản closebeta là bản phát hành sớm của NukeViet 3 nhằm mục đích tập hợp và sử dụng sức mạnh cộng đồng trong việc đóng góp ý kiến, cải tiến tính năng; phát hiện các lỗi trước khi phân phối rộng rãi tới người sử dụng thông thường.
          • Đối tượng được mời thử nghiệm: các lập trình viên và nhóm người dùng có kinh nghiệm.
            Bản closebeta không phải bản phát hành rộng rãi đến tay người sử dụng, do đó chỉ gửi hạn chế đến những người có trình độ và thực sự quan tâm đến việc phát triển hệ thống.
          • Hỗ trợ sử dụng: Không.
          • Hỗ trợ thử nghiệm: Hỗ trợ bằng tài liệu.
            Để tập trung cho việc fix lỗi và hoàn thiện NukeViet 3, Ban Quản Trị sẽ không trả lời bất cứ câu hỏi nào liên quan đến việc hướng dẫn sử dụng hoặc các thắc mắc ngoài những gì mà bản thử nghiệm cung cấp. Các tài liệu hướng dẫn có liên quan sẽ được đính kèm hệ thống.
          • Nâng cấp: Không.
        2. Openbeta: Phiên bản thử nghiệm diện rộng.
          • Đặc điểm: Bản openbeta là bản thử nghiệm các tính năng đã phát triển, nó thường mang đầy đủ các đặc điểm của hệ thống và hiếm khi thay đổi hoặc bị loại bỏ khỏi hệ thống trừ khi có phản hồi không tốt từ cộng đồng.
          • Ý nghĩa: Phiên bản này được sử dụng để thử nghiệm một cách đầy đủ và toàn diện hệ thống mới phát triển.
          • Mục đích: Bản openbeta là bản thử nghiệm đầy đủ nhằm mục đích tập hợp và sử dụng sức mạnh cộng đồng trong việc dò tìm để vá các lỗi có thể xảy ra mà quá trình thử nghiệm hạn chế (closebeta) không phát hiện ra.
          • Đối tượng được mời thử nghiệm: tất cả mọi người là thành viên diễn đàn nukeviet.vn
          • Hỗ trợ thử nghiệm: Có đầy đủ.
          • Hỗ trợ sử dụng: 1 phần.
            Người thử nghiệm được cung cấp các tài liệu hướng dẫn sử dụng, được trợ giúp trực tiếp trên diễn đàn.
          • Nâng cấp: Không.
        3. Release Candidate: Phiên bản ứng viên.
          • Đặc điểm: Bản Release Candidate là bản ổn định, là ứng cử viên cho phiên bản chính thức. Các lỗi được phát hiện trong giai đoạn này sẽ tiếp tục được sửa chữa.
          • Mục đích & Ý nghĩa: Phiên bản này được sử dụng như một bản đệm trong thời gian chờ phiên bản chính thức ra mắt nhằm tránh trường hợp một bản chính thức có thể bị lỗi ngay sau khi ra mắt.
          • Đối tượng người dùng: tất cả mọi người
          • Hỗ trợ sử dụng: đầy đủ
          • Nâng cấp: Có thể.
            Cả việc nâng cấp từ phiên bản cũ lên và nâng cấp lên phiên bản chính thức đều có thể được hỗ trợ.
        4. Official version: Phiên bản chính thức.
          • Đặc điểm: Bản Official version là bản chính thức đầu tiên của giai đoạn phát triển của dòng phiên bản mới. Official version là tên gọi của lần phát hành phiên bản duy nhất, các phiên bản tiếp theo sau đó sẽ chỉ được gọi tên bằng số phiên bản.
          • Mục đích & Ý nghĩa: Phiên bản này đánh dấu việc ra mắt dòng phiên bản mới và khuyến khích người sử dụng chuyển tiếp lên phiên bản mới.
      2. Các căn cứ để đưa ra tên gọi cho các phiên bản mới phát hành: Tên gọi xếp theo mức độ ổn định sẽ được gán cho một phiên bản đặt theo số nhất định, việc đặt tên do đội code chọn dựa trên đánh giá về tính ổn định của code sau phát hành. Các căn cứ để đưa ra tên gọi như sau:
        1. Closebeta:
          Có thể có nhiều phiên bản đánh số theo thứ tự phát hành: Closebeta 1, Closebeta 2, Closebeta 3... để phân biệt. Mỗi phiên bản tương ứng với một phiên bản số khác nhau & duy nhất. Phiên bản sau không nhất thiết phải bao gồm các tính năng của phiên bản trước và cũng không có quy định về mặt thời gian giữa mỗi phiên bản. Giai đoạn Closebeta sẽ kết thúc khi không còn những thay đổi lớn trong nhân hệ thống.
        2. Openbeta:
          Nếu không có sự cố nào nghiêm trọng trong bản Closebeta cuối cùng, bản thử nghiệm diện rộng (Openbeta) đầu tiên sẽ được phát hành tới tất cả các thành viên. Trong giai đoạn này, đều đặn mỗi tuần sẽ có một phiên bản Openbeta ra mắt để fix lỗi phiên bản Openbeta trước.
          Có thể có nhiều phiên bản đánh số theo thứ tự phát hành: Openbeta 1, Openbeta 2, Openbeta 3... để phân biệt. Mỗi phiên bản tương ứng với một phiên bản số khác nhau & duy nhất. Phiên bản sau bắt buộc bao gồm các tính năng của phiên bản trước.
          Giai đoạn Openbeta sẽ kết thúc khi số lượng lỗi được phát hiện giảm xuống, không còn các lỗi nghiêm trọng sau 2 phiên bản Openbeta.
        3. Release Candidate (RC)
          Khi số lượng lỗi được phát hiện giảm xuống, không còn các lỗi nghiêm trọng sau 2 phiên bản Openbeta, thì một bản Release Candidate sẽ được phát hành. Có thể có nhiều phiên bản đánh số theo thứ tự phát hành: RC1, RC2, RC3... để phân biệt. Mỗi phiên bản tương ứng với một phiên bản số khác nhau & duy nhất. Phiên bản sau bắt buộc bao gồm các tính năng của phiên bản trước. Một bản Release Candidate mới sẽ được ra mắt sớm hơn thông lệ thời gian (như quy định ở bản Openbeta) nếu nó bị phát hiện các lỗi nghiêm trọng
        4. Official version
          Phiên bản chính thức chỉ được phát hành sau một khoảng thời gian 2 tuần, khi bản RC gần nhất không phát hiện các lỗi tính năng.

      Tài liệu tham khảo:

      1. 7 giai đoạn phát triển của 1 phần mềm (sourceforge.net): planning, pre-anpha, anpha, beta, product/stable, mature, inactive.
      2. Software Development and Release Stages http://en.wikipedia.org/wiki/Software_release_life_cycle
      3. Software versioning http://en.wikipedia.org/wiki/Software_versioning
       
      Nhập email để nhận được những tin thông báo từ Ban Quản Trị NukeViet qua email
      Dự án 20 triệu máy tính bảng