Thứ Hai, 16 tháng 7, 2012

Mở nguồn công nghệ sở hữu độc quyền thật dễ


Khi sự tham gia của các tập đoàn trong nguồn mở gia tăng, nhiều công ty đang phát hiện ra những ưu điểm của việc phát hành các công nghệ sở hữu độc quyền trước kia của họ như là nguồn mở. Tại Việt Nam hiện nay, một số công ty thực sự có mong muốn mở mã nguồn các sản phẩm nguồn đóng của mình với mong muốn tận dụng được sức mạnh của cả cộng đồng từ bên ngoài công ty. Làm cách nào để hiện thực hóa điều này thuận lợi và có hiệu quả nhất cho công ty là câu hỏi được đặt ra ...

GIỚI THIỆU
Sự tham gia của các tập đoàn trong nguồn mở đã là cao ở mọi thời điểm, và tiếp tục tăng trưởng khi các công ty nhận thức được giá trị của việc sử dụng và đóng góp cho các dự án nguồn mở. Bản chất tự nhiên sự tham gia của các tập đoàn cũng tiếp tục tiến bộ, khi các công ty ngày càng phát hiện ra rằng việc mở nguồn các công nghệ sở hữu độc quyền có thể dẫn tới các nguồn giá trị mới và các hệ sinh thái mạnh hơn cho sản phẩm.
Đối với các công ty có kế hoạch mở mã sở hữu độc quyền như một dự án nguồn mở đứng riêng biệt, thì tài liệu này đưa ra sự khái quát mức cao về qui trình và đưa ra một danh sách ví dụ các nhiệm vụ có thể giúp đảm bảo rằng tất cả các nhiệm vụ được nắm bắt và thực thi một cách phù hợp.

QUI TRÌNH MỨC CAO CHO VIỆC MỞ NGUỒN CÁC MÃ SỞ HỮU ĐỘC QUYỀN
Việc mở nguồn cho một công nghệ sở hữu độc quyền có liên quan tới rất nhiều điều hơn là chỉ làm cho mã nguồn sẵn sàng. Có nhiều cách thức có khả năng cho việc xây dựng hoặc ra nhập các cộng đồng sẽ sử dụng và giúp duy trì dự án, điều này giải thích vì sao nên là một qui trình được sắp xếp tốt và có cân nhắc thận trọng. Hình 1 minh họa qui trình cơ bản cho việc mở nguồn công nghệ sở hữu độc quyền. Trong các phần sau đó, chúng ta sẽ thảo luận về một loạt các nhiệm vụ có liên quan tới từng hoạt động được chỉ ra trong hình này.
Hình 1: Mô hình cơ bản, mức cao cho việc mở nguồn công nghệ sở hữu độc quyền.
MỞ NGUỒN VÌ NHỮNG LÝ DO ĐÚNG
Khi mở nguồn công nghệ sở hữu độc quyền, điều quan trọng phải đánh giá tỉ mỉ những lý do cho sự biến đổi đó, và sắp đặt những động lực và các tính toán nội bộ một cách phù hợp. Mở nguồn vì những lý do sai trái có thể có tác động ngược so với mong đợi ban đầu. Hãy xem xét những lựa chọn thay thế bổ sung trước khi tạo một dự án mới hoàn toàn, như việc ra nhập một dự án nguồn mở đang tồn tại, hoặc cộng tác với các đối tác kinh doanh hiện hành để cùng cộng tác tạo ra một dự án nguồn mở mới. Những nhiệm vụ cơ bản đề cập tới trong giai đoạn sớm này bao gồm:
  • Đánh giá khả năng tham gia vào một dự án nguồn mở đang tồn tại
  • Đánh giá khả năng của công ty khởi xướng và duy trì dự án có sử dụng mô hình nguồn mở
  • Đánh giá khả năng các công ty khác có thể tham gia dự án từ đầu
  • Đánh giá các yếu tố thành công và thiết lập các đo đếm phù hợp cho dự án nguồn mở

NHỮNG CHUẨN BỊ NỘI BỘ
Khi chuẩn bị mở nguồn cho mã nội bộ, có 4 sự rà soát lại chính nên xảy ra đồng thời: pháp lý, kỹ thuật, nghiệp vụ và marketing.
  1. Rà soát lại về pháp lý đảm bảo rằng sở hữu trí tuệ chứa đựng trong mã nguồn sẽ được phát hành theo một qui trình sạch sẽ và có kỷ luật. Nên kiểm tra tính hợp lệ xem công ty có quyền phát hành tất cả các mã hay không, và nên bao gồm thương hiệu. Những nhiệm vụ cơ bản trong quá trình rà soát lại về pháp lý bao gồm:
    1. Cân nhắc tác động của việc mở nguồn đối với sở hữu trí tuệ của công ty bạn
    2. Đảm bảo tuân thủ đầy đủ với các giấy phép nguồn mở
    3. Lựa chọn một giấy phép nguồn mở cho mã nguồn sẽ được phát hành
    4. Quyết định liệu bạn có cần một Thỏa thuận của những Người đóng góp hay không
    5. Quyết định về bất kỳ cân nhắc nào có liên quan tới thương hiệu
  2. Rà soát lại về kỹ thuật để kiểm tra tính hợp lệ rằng mã nguồn đưa ra công khai có thể vận hành mà không có những lệ thuộc vào mã nguồn nội bộ hoặc các thực tiễn phát triển khác, và rằng nó không bao gồm mã nguồn của các bên thứ 3 mà công ty không thể phát hành. Nó nên bao gồm sự kiểm tra tính hợp lệ tất cả các lưu ý về giấy phép và bản quyền, và những bình luận mã riêng nên được bỏ đi.
    1. Loại bỏ những lệ thuộc sống còn vào các thành phần không công khai
    2. Cung cấp tài liệu và các ví dụ trường hợp điển hình (use case)
    3. Loại bỏ các bình luận nội bộ, các tham chiếu tới mã nguồn nội bộ khác, …
    4. Đảm bảo kiểu lập trình là nhất quán
    5. Cập nhật những lưu ý bản quyền trong các tệp mã nguồn
    6. Bổ sung lưu ý giấy phép trong các tệp mã nguồn
    7. Bổ sung văn bản giấy phép như một tệp trong thư mục gốc
  3. Rà soát lại về nghiệp vụ để đảm bảo rằng dự án được cấp vốn và có trách nhiệm đỡ đầu đầy đủ, ít nhất cho tới khi nó bắt đầu tự duy trì được. Những nhiệm vụ trong quá trình rà soát lại về nghiệp vụ bao gồm:
    1. Đảm bảo có một nhà vô địch doanh nghiệp cho dự án
    2. Đảm bảo có sự cam kết về các tài nguyên (những người duy trì và người phát triển)
    3. Đảm bảo có sự cam kết cho việc cấp vốn cho hạ tầng của dự án nguồn mở
  4. Rà soát lại về marketing thiết lập các chỉ dẫn cho việc xây dựng thương hiệu. Điều này là đặc biệt quan trọng, khi nó giúp đảm bảo cho một thông điệp nhất quán trong thị trường. Những nhiệm vụ cơ bản trong quá trình rà soát lại về marketing bao gồm:
    1. Thiết kế logo, sơ đồ màu, website, các việc phụ khác của dự án, …
    2. Chính thức hóa những chỉ dẫn xây dựng thương hiệu
    3. Đăng ký các tài khoản phương tiện xã hội cho dự án (Twitter, Facebook, LindedIn, …)
    4. Đăng ký các tên miền cho dự án

XÁC ĐỊNH SỰ ĐIỀU HÀNH VÀ CÁC QUI TRÌNH CỦA DỰ ÁN
Điều hành là qui trình theo đó dự án tiến hành ra các quyết định về chiến lược, các phát hành, đường lối và các ưu tiên phát triển. Việc ra quyết định nên là công khai và mở, để giúp đảm bảo rằng tất cả những người tham gia nhận thức được về những thay đổi đối với dự án và để duy trì sự minh bạch. Điều quan trọng phải quyết định sớm những tiêu chí nào phải được đáp ứng để tham gia trong đơn vị điều hành dự án.
Ở giai đoạn này, những quyết định nên được chính thức hóa về cách mà những tính năng và các lỗi sẽ được theo dõi, cách mà mã nguồn sẽ được đệ trình, và ai sẽ quản lý qui trình phát hành.
  • Quyết định về điều hành dự án
  • Chính thức hóa các qui trình đệ trình mã nguồn, các bản vá, các ý tưởng về tính năng, ...
  • Thiết lập đội và qui trình quản lý phát hành

THIẾT LẬP HẠ TẦNG DỰ ÁN
Cộng đồng nguồn mở đã phát triển và thích nghi rộng rãi một tập hợp các công cụ cộng tác phân tán và quản lý mã nguồn chất lượng cao. Khi tạo ra một dự án mới, điều quan trọng phải sử dụng các công cụ đó, vì chúng là tự do cho những người đóng góp và được các lập trình viên hiểu tốt.
  • Hệ thống kho mã nguồn
  • Hệ thống theo dõi lỗi
  • Website
  • Các danh sách thư
  • Wiki cho tài liệu cộng tác
  • Các kênh IRC (chat) cho các cuộc thảo luận sống động (live)
  • Môi trường xây dựng được tự động hóa, nếu có khả năng

KHAI TRƯƠNG VÀ DUY TRÌ
Công việc với các đối tác kinh doanh chủ chốt, và tóm tắt có liên quan tới các dự án nguồn mở để đảm bảo sự hỗ trợ mạnh khi dự án chính thức khai trương. Đảm bảo rằng hạ tầng, mã nguồn, mô hình điều hành, thông tin giấy phép và các đội phát triển nội bộ ban đầu của dự án tất cả được chính thức hóa trước khi khai trương.
Khi dự án được công bố, hãy biết trước rằng một số lập trình viên nguồn mở đáng kể sẽ tải về mã nguồn và hình thành những ấn tượng đầu tiên (và lâu dài) về dự án.
Những nhiệm vụ cơ bản trước khi khai trương bao gồm:
  • Tóm tắt trước cho các đối tác khai trương
  • Đảm bảo là tất cả hạ tầng của dự án đang chạy, có an ninh và khả năng mở rộng về phạm vi
  • Đảm bảo các lập trình viên nội bộ tham gia và tiếp tục giám sát kênh IRC, các danh sách thư, ...
  • Phát hành mã nguồn tuân theo mô hình phát triển nguồn mở

PHÁT TRIỂN CỘNG ĐỒNG CÁC LẬP TRÌNH VIÊN
Sau khi dự án được khai trương, điều cơ bản phải giám sát khả năng tồn tại lâu dài của cộng đồng bên ngoài.
Việc xây dựng cộng đồng không xảy ra một cách tự động. Trong những giai đoạn sớm của dự án, có thể cần thiết phải tổ chức các sự kiện của các lập trình viên hoặc các cuộc gặp với các nhà tài trợ tại các hội nghị chính để xây dựng xung lượng.
Bổ sung thêm, cực kỳ quan trọng phải quản lý những mong đợi và làm thỏa mãn những bổn phận trách nhiệm đối với sự điều hành và sự minh bạch của dự án.
Những hoạt động cơ bản diễn ra bao gồm:
  • Chỉ định một người quản lý cộng đồng hoặc bảo vệ cộng đồng
  • Đảm bảo bất kỳ những thay đổi nào về đường hướng hoặc sự điều hành sẽ được giao tiếp một cách rõ ràng
  • Tuân theo những thực tiễn tốt nhất của các cộng đồng tương tự khác
  • Khuyến khích và cung cấp các cơ hội cho việc xây dựng cộng đồng mặt đối mặt

KẾT LUẬN
Có nhiều cách thức để mở nguồn thành công cho công nghệ sở hữu độc quyền. Danh sách các nhiệm vụ đưa ra tổng quan mức cao qui trình đó, và có thể được sử dụng như là cơ sở cho một kế hoạch nội bộ chi tiết hơn của qui trình. Trong khi qui trình này có thể xem là phức tạp, thì nhiều công ty đã thành công tuân theo những thủ tục tương tự để mang mã nguồn nội bộ tới thị trường như một dự án nguồn mở.
Chúng ta đã đi hết các nội dung xung quanh mô hình phát triển phần mềm tự do nguồn mở và cách thức mở mã nguồn cho một phần mềm nguồn đóng. Tất cả những nội dung này đều dựa vào các tài liệu mà Quỹ Linux phát hành trong giai đoạn cuối năm 2011, đầu năm 2012. Để có thêm thông tin về những tài liệu đó, hãy tới thăm website của Quỹ Linux tại: http://www.linuxfoundation.org.
Trần Lê
Bài đăng trên tạp chí “Tin học và Đời sống” số tháng 07/2012, trang 62-64.

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.