Thứ Ba, 11 tháng 10, 2011

Các dạng cộng đồng

Community types
Theo: http://webmink.com/essays/community-types/
By Simon Phipps
Lời người dịch: Khi nói về “cộng đồng” của phần mềm tự do nguồn mở, ít ai phân biệt và/hoặc giải thích cặn kẽ nó gồm những ai trong vai trò gì (làm gì) trong cộng đồng. Bài viết này của cựu lãnh đạo hãng Sun Microsystems và hiện là Giám đốc của Tổ chức OSI sẽ cho chúng ta một khái niệm rõ ràng hơn về cộng đồng như vậy. Theo ông, có 4 dạng cộng đồng là: (1) Cộng đồng các lập trình viên cốt lõi; (2) Cộng đồng các lập trình viên mở rộng; (3) Cộng đồng các lập trình viên - người triển khai và (4) Cộng đồng những người sử dụng. 4 dạng khác nhau này có những vai trò riêng biệt của chúng trong tổng thể cộng đồng phần mềm tự do nguồn mở.
Khi tôi làm việc với những người kinh doanh, tôi thường thấy tôi cần phải phân biệt giữa các dạng cộng đồng khác nhau được phân lớp xung quanh các đồ chung của phần mềm tự do. Phổ biến đặc trưng cho các thành viên cộng đồng hoặc “các lập trình viên” thế giới quan của “nguồn mở” thường nhấn mạnh điều này) hoặc “những người sử dụng” (thế giới quan của “phần mềm tự do” thường nhấn mạnh điều này). Hơn thế, việc sử dụng khái niệm “cộng đồng” để áp dụng vào mỗi kiểu tập hợp dẫn tới sự lộn xộn khó hiểu, đặc biệt xét về những động lực cho việc tham gia.
Như tôi đã quan sát nhiều sự tham gia của cộng đồng của nhiều công ty khác nhau và các cá nhân, và đã thảo luận điều này với nhiều người khác nhau, dường như đối với tôi có 4 dạng cộng đồng khác nhau có liên quan tới sự phát triển, ở 2 nhóm. Đây không phải là những phân loại tuyệt đối với các ranh giới cứng và nhanh, và hầu hết các công ty mở rộng sang 2 dạng, nhưng sự khác biệt là hữu ích khi thảo luận về các cộng đồng. Các chủng loại là:
  • Các cộng đồng những người cùng phát triển - nơi mà những người tham gia chia sẻ sự truy cập cam kết rộng lớn tới một đồ chung của phần mềm tự do có sử dụng các giấy phép và tiêu chuẩn của nguồn mở
    • Các đồng lập trình viên cốt lõi - những người mà sự tham gia chính của họ là triển khai, tiến hóa và duy trì mã nguồn trong đồ chung đó;
    • Các đồng lập trình viên mở rộng (những người mở rộng) - những người mà họ đồng phát triển phần mềm, xây dựng trên hoặc tổng hợp công việc trong cái chung, ví dụ tiến hành các mở rộng, các trình cài cắm, bản địa hóa và phân phối.
  • Các cộng đồng triển khai - nơi mà sự tham gia chính với mã nguồn liên quan tới một cài đặt triển khai đang chạy mà được thiết lập cấu hình và quản lý bởi các thành viên của cộng đồng trong sự kết hợp với các phần mềm khác.
    • Các lập trình viên - người triển khai - Những người lấy các nội dung của các đồ chung rồi thiết lập cấu hình và tùy biến chúng cho sự triển khai.
    • Người sử dụng - Những người sử dụng mà các ông chủ của họ có thể trả tiền - công việc của các lập trình viên - người triển khai và đặt nó vào sử dụng có năng suất.
When I am with business people, I often find I need to distinguish  between the different kinds of community that are layered around various Free software commons. It’s common to characterise community members as either “developers” (the “open source” worldview often emphasises this) or “users” (the “Free software” worldview often emphasises this). More than that, using the term “community” to apply to every style of gathering leads to confusion, especially regarding motivations for participating.
As I’ve watched various community engagements by various companies and individuals, and discussed this with various people, it seems to me that there are four different development-related community types, in two bands. These aren’t absolute classifications with hard-and-fast boundaries, and most communities span two of the types, but the distinction is helpful when discussing communities. The categories are:
  • Co-Developer communities – where participants share broad commit access to a particular Free software commons using open source licenses and norms
    • Core co-developers – people whose main participation implements, evolves and maintains the code in the commons;
    • Extending co-developers (extenders) – people who co-develop software that builds on or aggregates the work in the commons, for example making extensions, plug-ins, localisations and distributions;
  • Deployer communities – where the main engagement with the code involves a running instance that is configured and run by the community members in conjunction with other software
    • Deployer-developers – people who take the contents of the commons and configure and customise them for deployment;
    • Users – people who use – and whose employers may pay for – the work of Deployer-developers and put it to productive use.
Mô hình này đối với các dạng động đồng đã dần phát triển qua thời gian đối với tôi. Không đặt tên cho nó, tôi đã đặc biệt quan sát các điểm sau đây nảy sinh từ mô hình này:
  1. Có 4 dạng cộng đồng khác biệt ở đây, nhưng mọi người có thể đóng các vai trò khác nhau trong nhiều cộng đồng. Ví dụ, những người duy trì đóng gói làm việc trong một phát tán hệ điều hành có thể là những Người Mở Rộng đối với mã nguồn mà họ đang đóng gói và là những Người Khởi Đầu đối với phát tán đó. Và nhiều người trong 3 vai trò khác cũng là Người Sử Dụng.
  2. Mọi người cũng có thể đóng tốt được nhiều vai trò bên trong một cộng đồng. Một Lập Trình Viên - Người Triển Khai cũng có thể đóng góp mã nguồn tốt như một Người Khởi Đầu khi họ giải quyết các vấn đề trong khi triển khai, ví dụ thế.
  3. Có nhiều cách thức khác nhau để đóng góp cho cái chung trong khi tham gia. Những người sử dụng thường là nguồn sống còn của tài liệu, các trường hợp điển hình, các báo cáo lỗi và các yêu cầu tính năng và vai trò của Người Sử Dụng không bằng cách nào lại được coi là không quan trọng cả.
  4. Những quyền tự do mà mọi người cần được bảo vệ khác nhau giữa các vai trò. Ví dụ, một Người Sử Dụng có lẽ xem như đang được bảo vệ khỏi sự khóa trói như một quyền tự do đầu tiên và muốn một sự lựa chọn công việc của Lập Trình Viên - Người Triển Khai nhân danh họ cũng như sử dụng các tiêu chuẩn mở của Người Khởi Đầu. Trong khi 4 quyền tự do gốc ban đầu đưa ra một chuẩn mực, thì tôi đang bị thuyết phục sẽ có nhiều quyền tự do hơn nữa cần bảo vệ.
  5. Cách mà một tổ chức thương mại tham gia với các cộng đồng phải tôn trọng cả 2 vai trò mà tổ chức đóng với sự tôn trọng đối với cộng đồng và cũng cả các vai trò của mọi người mà họ muốn gây ảnh hưởng. Việc đối xử với mỗi người dường như họ là, ví dụ, các Lập Trình Viên - Người Triển Khai, sẽ dẫn tới những phản ứng tiêu cực từ tất cả những Người Khởi Đầu và Người Mở Rộng.
Tôi đã sử dụng mô hình này cùng khắp bên trong Sun để tư vấn cho các đội thiết kế kỹ thuật, marketing và quản lý trong những cam kết tham gia cộng đồng của họ. Việc có một tập hợp thuật ngữ được chia sẻ để phân biệt các vai trò từng là quan trọng để tránh giả thiết rằng mỗi người đều có nghĩa là thứ y hệt khi họ nói “cộng đồng”, đặc biệt khi có những người nghĩ rằng “cộng đồng” là một từ đồng nghĩa cho “thị trường”.
This model for community types has gradually developed over time for me. Naming no names, I have especially observed the following points arising from the model:
  1. There are four distinct community types here, but people may play different roles in multiple communities. For example, package maintainers working on an operating system distribution may be Extenders with regard to the code they are packaging and Originators with regard to the distro. And many people in the other three roles are also Users.
  2. People may well play multiple roles within a community too. A Deployer-developer may well be contributing code as an Originator as they address problems during deployment, for example.
  3. There are many different ways to contribute to the commons while participating. Users are often a crucial source of documentation, case studies, bug reports and feature requests and the User role is by no means to be considered unimportant.
  4. The freedoms people need protected vary between the roles. For example, a User is likely to view being protected from lock-in as a primary freedom and to want a choice of Deployer-developers working on their behalf as well as the use of open standards by Originators. While the original Four Freedoms provide a baseline, I’m increasingly convinced there are more freedoms that need protecting.
  5. The way a commercial organisation engages with communities must respect both the role the organisation plays with respect to the community and also the roles of the people they wish to influence. Treating everyone as if they were, for example, Deployer-developers, will lead to negative reactions from all the Originators and Extenders.
I used this model extensively within Sun to advise the  engineering, marketing and management teams on their community engagements. Having a set of shared terminology to distinguish roles was important for avoiding the assumption that everyone means the same thing when they say “community”, especially when there are people who think that “community” is a synonym for “market”.
Dịch tài liệu: Lê Trung Nghĩa

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.