Avoiding
abandon-ware: getting to grips with the open development method
By Paul Anderson,
Published: 02 June 2009, Reviewed: 11 June 2012
Bài được đưa lên
Internet ngày: 11/06/2012
Lời
người dịch: Dù còn những tranh cãi khác nhau xung quanh
khái niệm Phương pháp Phát triển Mở, nhưng hầu như các
nhà nghiên cứu và thực hành về nó đều có chung quan
điểm rằng nó sẽ là tương lai của thế giới, không
chỉ trong lĩnh vực CNTT-TT, mà mọi lĩnh vực khác trong xã
hội. Với cội rẽ là nguồn mở, thì nó “nhấn mạnh
vào cách thức manh tính xã hội trong đó phần mềm
thực sự được tạo ra (sự liên quan của một dải
rộng lớn mọi người, bao gồm các lập trình viên phần
mềm, các nhà nghiên cứu và những người sử dụng, và
cách thức công chúng trong đó họ làm việc) nó chuyển
trọng tâm khỏi việc cấp phép và phân phối”.
“Phương pháp Phát triển Mở đưa ra một cách thức
mới cho việc phát triển cả phần mềm và các sản phẩm
có liên quan tới tri thức khác”. Hy vọng nó cũng sớm
được phát triển ở Việt Nam.
Nguồn mở là hơn cả
một dạng giấy phép. Trong khi đúng là định nghĩa của
Sáng kiến nguồn mở - OSI (Open Source Initiative) liệt kê
một số các giấy phép và các điểm có liên quan tới sự
phân phối, thì tóm tắt bức tranh lớn trên trang chủ của
OSI vẽ lên một bức tranh khá khác:
'Nguồn mở là một
phương pháp phát triển cho phần mềm mà xúc tạo cho sức
mạnh của sự rà soát lại ngang hàng và sự minh bạch
của qui trình'.
Định
nghĩa này đặt ra một thái độ khác về sự khác biệt
giữa phần mềm nguồn mở và sở hữu độc quyền (hoặc
nguồn đóng). Bằng việc nhấn mạnh vào cách thức manh
tính xã hội trong đó phần mềm thực sự được tạo ra
(sự liên quan của một dải rộng lớn mọi người, bao
gồm các lập trình viên phần mềm, các nhà nghiên cứu
và những người sử dụng, và cách thức công chúng trong
đó họ làm việc) nó chuyển trọng tâm khỏi việc cấp
phép và phân phối. Khi nguồn mở trở nên ngày càng phổ
biến, với ngày càng nhiều hơn mọi người muốn gắn
nhãn phần mềm của họ như là nguồn mở, thì sự khác
biệt đó là quan trọng. Ngày càng trở nên cần
thiết để quay về các nguyên tắc cơ bản của nguồn mở
để giải thích tầm nhìn gốc ban đầu một cách đầy
đủ hơn.
Giới thiệu Phương
pháp Phát triển Mở - ODM (Open Development Method)
'Phát triển Mở là
một khái niệm đang nổi lên, được sử dụng để mô
tả mô hình phát triển do cộng đồng dẫn dắt được
thấy trong nhiều dự án thành công của phần mềm tự do
nguồn mở'.
- Wiki
của OSS Watch
Khái niệm Phương
pháp Phát triển Mở (ODM), hoặc đôi khi là sự phát triển
do cộng đồng dẫn dắt, từng được đưa ra để mô tả
cách làm việc cộng tác này. Theo mô hình này, có sự
nhấn mạnh trước hết vào sự cộng tác và vai trò của
một cộng đồng. Gianugo Rabellino, cựu CEO của SourceSense,
một công ty dịch vụ nguồn mở hàng đầu của châu Âu,
nói: 'Đối với tôi, phát triển mở thực sự là những
gì nguồn mở [luôn] là. Vì thế, nguồn mở từng có ý
định như một phương pháp luận phát triển, như một
cách thức để xây dựng các chế tác, là phần mềm,
theo một cách thức cộng tác dựa vào sự minh bạch, chế
độ người tài lãnh đạo và tính trung lập [về quyền
sở hữu] và bạn cần tất cả chúng'.
Trên
thực tế, một số nhà nghiên cứu viện lý rằng các dự
án nguồn mở có thể được đặt trong một thể liên
tục trải ra giữa 'hoàn toàn mở' và 'hoàn toàn đóng',
dựa vào một sự đánh giá các kiểu quản lý và điều
hành của dự án và một sự đánh giá về 'tính mở' của
bản thân dự án hơn là phần mềm được tạo ra (Capra
và Wasserman, 2008). Các dự án dựa vào ODM ở một cực
của điều này.
Quan
điểm này được những người làm thực tế đang làm
việc về phần mềm nguồn mở ủng hộ, một số trong số
họ viện lý rằng một sự khác biệt giữa những gì
được gọi một cách lỏng lẻo là các dự án 'nguồn
mở' và 'phát triển mở' đang bắt đầu nổi lên. Các
lập trình viên có liên quan trong cái đầu vẫn giữ được
tập trung vào việc cấp phép và các vấn đề phát hành,
trong khi cái sau nhằm vào các qui trình của dự án làm
trọng. Justin Erenkrantz, cựu Chủ tịch của Quỹ
Phần mềm Apache, nói: “Bạn thực sự bắt đầu thấy
có lẽ không phải là một sự chia tách, mà là dạng của
2 phe: bạn có nguồn mở nhưng mặt khác bạn có sự phát
triển mở”.
Justin trích dẫn thực
tế rằng tất cả công việc diễn ra trong công khai như
là sự khác biệt quan trọng. Ông nói: 'Những gì chúng ta
đang thấy là một số dự án và thực thể mà họ đang
nói ở đây là mã nguồn, nó là theo giấy phép Apache hoặc
GPL hoặc bất kỳ giấy phép nào, nhưng các quyết định
về cách mà mã có được trong tình trạng đó là đằng
sau một vài bức tường - nó không công khai'. Điều này,
ông viện lý, là bất lợi cho qui trình viết mã. Dù sản
phẩm cuối cùng có thể chính thức được phân loại như
nguồn mở, sẽ không là cách thức tốt để phát triển
các sản phẩm bền vững. Ông nói: 'Bạn có thể sử dụng
nó và bạn có tất cả các quyền, nhưng những gì bạn
không có như một lập trình viên là một sự hiểu biết
về cách mà mã đó đi theo con đường đó. Vì thế bạn
sẽ gặp một số lỗi và bạn nói, “Vì sao lại làm mã
theo cách này?” Không có ngữ cảnh lịch sử hoặc việc
lưu trữ hoặc lý do cơ bản nào cả'.
Đối với Gianugo, con
đường công khai về cách làm việc này có nghĩa là ODM
thể hiện một sự tái cân đối sức mạnh giữa các lập
trình viên và người sử dụng. Ông nói: 'Tôi sẽ không
cộng tác về thứ gì đó mà tôi không cảm thấy bất kỳ
ý nghĩa nào về việc thuộc về … Không có sự phát
triển mở nếu tôi không thể gây ảnh hưởng và có
tiếng nói của tôi trong những gì chúng tôi làm và những
gì chúng tôi đang cố xây dựng. Đó không phải là sự
phát triển mở, đó là lao động tự do!'
Ross Gardler, cựu Giám
đốc của OSS Watch, tin tưởng rằng ODM có thể được
chính thức hóa bằng việc nhìn vào một số các thuộc
tính chủ chốt đặc trưng cho một cộng đồng phát triển
mở, ấy là:
- mức độ sâu sự tham gia của người sử dụng: nếu bạn không có người sử dụng thì dự án không có điểm gì cả.
- sự minh bạch: là mở theo đó cộng đồng đang gánh vác và cách mà các quyết định được ra.
- sự cộng tác: một phương tiện làm việc trong một nhóm đa dạng mọi người, thứ gì đó mà Internet rõ ràng đã làm cho dễ dàng hơn.
- sự lanh lẹ: một khi công việc bắt đầu và có một sự tham gia nghiêm túc với những người sử dụng, các ý tưởng và kế hoạch có thể cần phải thay đổi.
- tính bền vững: có khả năng giữa cho việc phát triển một giải pháp ứng dụng qua một giai đoạn thời gian cần thiết.
- các công cụ: các wiki, các trình theo dõi phiên bản và theo dõi lỗi, và các dánh sách thư điện tử để hỗ trợ cho sự phát triển của cộng đồng và theo dõi các quyền sở hữu trí tuệ, nếu phù hợp.
Đối với Gianugo, sự
lanh lẹ là một vấn đề thú vị về phát triển mở.
Ông nghĩa rằng trên bề mặt nó không giống cho dù các
phương pháp phát triển lanh lẹ và phát triển mở làm
việc cùng nhau rất tốt. Ông nói: 'Nếu bạn nghĩ rằng
một trong những ý tưởng chính của tính lanh lẹ là sự
thống nhất của thời gian và vị trí - thì bạn cần có
ở nơi y hệt tại thời gian y hệt và thực hiện nhiều
thảo luận mặt đối mặt - và sau đó bạn có sự phát
triển mở mà dựa vào công việc không đồng bộ, phân
tán - và sau đó nó trông giống như dầu và nước - chúng
không trộn được vào nhau'. Ông nói điều này là một
vấn đề đang diễn ra cho các lập trình viên và rằng
SourceSense đang làm việc để tìm ra một tập hợp các
thực tiễn chung có thể làm cho nguồn mở lanh lẹ hơn và
các phương pháp phát triển lanh lẹ thành mở hơn.
ODM và Quỹ Phần
mềm Apache (ASF)
Nhiều người nêu ra
tầm quan trọng của ASF đối với sự nổi lên của
phương pháp phát triển mở và Gianugo, một thành viên của
Apache, tán thành. Ông nói: 'Tôi tin rằng Apache là một
dạng trẻ con thích quảng cáo khi nói tới sự phát triển
mở, nhưng điều này không nói lên được rằng không có
các tổ chức khác làm điều đó- ví dụ, Eclipse, và
Mozilla ở mức độ nào đó. Nhưng nếu bạn nhìn vào
Apache, những gì chúng tôi muốn thực sự là các cộng
đồng bền lâu vì chúng tôi biết rằng các cộng đồng
bền lâu sẽ giữ cho việc sản xuất mã'. Ông so sánh các
cộng đồng đối với các hệ sinh thái đa dạng mà sự
sống còn của chúng là trong một phần được đảm bảo
bằng một sự rất đa dạng các lập trình viên, các nhà
cung cấp dịch vụ, các nhà báo viết về kỹ thuật,
những người sử dụng và các nhà nghiên cứu có liên
quan trong một dự án điển hình, lớn của Apache.
Justin
Erenkrantz theo dõi những khởi đầu cảu ODM ngược về
những ngày đầu của các máy chủ Apache, từng trở thành
sản phẩm nguồn mở đầu tiên của quỹ. Một máy chủ
web sớm đang được xây dựng ở Trung tâm Quốc gia về
các Ứng dụng Siêu máy tính (NCSA) tại Illinois từng để
lại không được hỗ trợ khi nhân viên đã chuyển tới
Netscape và những người sử dụng kỹ thuật máy chủ đó
từng bị lâm vào thế mắc cạn. Một cách không chính
thức, một nhóm những người sử dụng có quan tâm đã
bắt đầu chia sẻ các vấn đề và sửa các lỗi bằng
thư điện tử. Justin nhớ lại: 'Họ đã bắt đầu buôn
bán các bản vá. Độc lập với tất cả những người
từng cố gắng duy trì dạng quả bóng bẩn này. Nên họ
nói hãy làm việc cùng nhau sao cho chúng ta có thể làm
được thứ gì đó tốt hơn so với từng người trong
chúng ta có thể làm riêng mình'. Việc ra các quyết định
và viết tài liệu cho chúng công khai đã trở thành một
phần rất quan trọng của những đặc tính này, khi mà
các lập trình viên đã muốn chắc chắn rằng thứ y hệt
như vậy có lẽ không bao giờ xảy ra một lần nữa.
Giáo dục và ODM
Những tác động nào
của ODM đối với giáo dục trung học và cao hơn? Trước
hết có lẽ là tác động có khả năng nhất có lẽ trong
cách theo đó các hệ thống học tập điện tử
e-learning, nghiên cứu và kinh doanh mà phần mềm được
phát triển. Nhưng cách làm việc của ODM có thể được
mở rộng vượt ra khỏi phần mềm. Juan Mateos Garcia và W.
Edward Steinmueller, từ Đơn vị Nghiên cứu Chính
sách Khoa học và Công nghệ tại Đại học Sussex (SPRU)
vào thời điểm viết bài này, lưu ý rằng: 'Sự phù hợp
rộng lớn hơn … là khả năng nó có thể là một mô
hình áp dụng được cho một dải các hoạt động rộng
lớn hơn có liên quan tới sự tạo ra các của cải thông
tin hoặc chung' (Garcia and Steinmueller, 2003). Họ viện lý
rằng Internet đưa ra khả năng để lắp ráp các cộng
đồng ảo lớn mà có thể hỗ trợ các lĩnh vực cộng
tác và rằng các lĩnh vực đó không cần phải bị hạn
chế chỉ cho phần mềm. Họ gợi ý các cách thức khác
nhau theo đó các phương pháp phát triển mở có thể được
sử dụng cho việc làm giả cộng tác, các dự án nghiên
cứu và thu thập thông tin một cách cộng tác. Điều này
làm cho nguồn mở vượt ra khỏi việc vọc và phân phối
mã và đặt vào lãnh địa của những cách thức mới để
thực hiện đổi mới.
Đối
với Gianugo, ODM thể hiện một thách thức đáng kể đối
với giáo dục, ông viện lý là nguy hiểm khi để mất
các cơ hội mà phương pháp phát triển mở đưa ra. Ông
đồng ý rằng điều này đi vượt ra khỏi con đường mà
theo đó phần mềm được phát triển cho các dự án
nghiên cứu, học tập điện tử hoặc hành chính. Nó cũng
có các tác động cho các cách thức theo đó các trường
đại học tạo ra tri thức mới.
Mô hình nghiên cứu
mới
Gianugo chỉ ra rằng
mô hình phổ biến của nghiên cứu hiện hành thông qua
xuất bản tạp chí giấy được rà soát lại theo điểm
nganh hàng (và các sơ đồ tưởng thưởng hàn lâm dựa
vào các kết quả đầu ra đó) có thể cần phải được
rà soát lại dưới ánh sáng của những phát triển gần
đây. Ông nói: 'Vấn đề là mô hình nghiên cứu này rõ
ràng xung đột với những gì thế giới cộng tác đang
nói cho chúng ta. Có một rủi ro trở thành ít phù hợp
hơn'. Các trường đại học có nhiều hơn nhiều để
khuyến khích sự tiếp cận từ công việc nghiên cứu của
họ, để cam kết công khai rộng rãi hơn và, quan trọng
nhất, để cho phép những người khác xây dựng trên
những gì họ đã đạt được. Việc tiếp tục với các
con đường giao tiếp truyền thống có nghĩa là tư liệu
nghiên cứu quan trọng đó có thể không thấy ánh sáng
ban ngày, các dữ liệu thí điểm có thể không được
chia sẻ và các dự án phần mềm có thể trở thành những
gì ông gọi là 'những đồ bị bỏ rơi'. Điều này đặc
biệt đúng đối với các dự án nghiên cứu sử dụng
mã, mà sẽ được phát triển bằng việc sử dụng các
môi trường phát triển và các hệ thống tạo phiên bản
cho mã nguồn y hết như mã nguồn nguồn mở. Đây là một
bước ngắn để mở điều này ra cho những người khác.
Ông nói: 'Tôi không thể tưởng tượng được bất kỳ
ai đang làm bất kỳ công việc [kỹ thuật phần mềm] gì
nghiêm túc mà không có sự thiết lập cấu hình phần
mềm, làm phiên bản cho các công cụ và vì thế ở điểm
đó, vì bạn cần nó bằng mọi cách, vì sao không thực
hiện nó bằng việc sử dụng các phương pháp mở?'
Con đường phía
trước?
Đối với Gianugom có
giá trị trong việc khai thác các cách thức theo đó các
dữ liệu thí điểm và các kết quả nghiên cứu sớm có
thể được chia sẻ trước xuất bản phẩm chính thức.
Nếu điều này được xem như một chiếc cầu quá xa, thì
ông gợi ý rằng các cơ quan thí điểm với một cộng
đồng nội bộ các nhà nghiên cứu mà sử dụng phương
pháp phát triển mở. Ông nêu tiếp, dù, viện lý rằng
điều này cần phải được nghĩ lại. Sẽ có nhiều mối
quan tâm trong việc mở rộng qui trình rà soát lại theo
điểm ngang hàng để tiếp cận được từ thế giới đại
học. Ông nói: 'Về phía chiến lược,
nếu toàn bộ hệ thống đánh giá, các đánh giá ngôi
sao, là đổ vỡ, thì hãy sửa chúng. Internet đang lát con
đường cho toàn bộ một hệ thống thừa nhận mới, toàn
bộ một hệ thống xếp hạng mới. Tôi không thấy vì
sao Internet sẽ không thu hoạch với dạng tốc độ bất
chấp một nhà nghiên cứu có đang thực hiện một công
việc tốt ngoài tầm với hay không'.
Gianugo cũng viện lý
rằng các nhà nghiên cứu cần phải sử dụng nhiều hơn
các công cụ và kỹ thuật mà bây giờ là phổ biến
trong phát triển nguồn mở. Ông nói: 'Các diễn đàn, các
danh sách thưu, và toàn bộ ý tưởng là đây là mã nguồn,
đây là kho, nên mọi điều đi ở đó và ở đây là một
Wiki được gắn vào nó và một danh sách thư. Không là
vấn đề gì nếu không ai thuê bao với nó [ban đầu],
nhưng cuối cùng sẽ có ai đó có thiện chí thực hiện
điều đó và tôi muốn nói giáo dục cần phải sử dụng
nhiều hơn nữa các công cụ đó'. Andrew Savory, cựu lãnh
đọa Nguồn Mở cho Quỹ LiMo, cảnh báo, dù, rằng số
lượng của dạng hạ tầng hỗ trợ dạng này sẽ là
cao. Ông nói: 'Tôi đã làm việc trong một số môi trường
nơi mà các danh sách chọn đã đã thực hiện - giấy
phép, wiki, dánh sách thư, khi mã, trình theo dõi vấn đề
- nhưng hạ tầng được đặt sẵn đơn giản là không
tùy thuộc vào sự hỗn tạp. Điều này có thể giết
chết một cộng đồng trước khi nó có cơ hộ bắt đầu!'
Hướng tới giải
pháp dài hạn
Tuy nhiên, việc giới
thiệu ODM cho thế giới giáo dục có thể là một thách
thức đáng kể. Andrew tư vấn rằng giáo dục cần hiểu
những lợi ích và khó khăn của ODM và để làm việc cật
lực để xác định khi nào và ở đâu là phù hợp nhất
để sử dụng nó. Ông cũng lưu ý rằng: 'Nó cần một
dạng người đặc biệt, và không phải bất kỳ ai cũng
có thể vượt qua được tốt với tư duy được yêu
cầu'. Gianugo nghĩ rằng điều này sẽ đòi hỏi suy nghĩ
dài hạn và ông viện lý rằng chìa khóa có thể là phải
tập trung các nỗ lực vào việc huấn luyện thế hệ
tiếp sau các nhà nghiên cứu và các lập trình viên viết
mã dựa vào giáo dục trong các kỹ thuật mới. Ông trích
sáng kiến của Google Summer of Code như một ví dụ để đi
theo.
Phương
pháp Phát triển Mở đưa ra một cách thức mới cho việc
phát triển cả phần mềm và các sản phẩm có liên quan
tới tri thức khác. Trọng tâm của nó vào tính mở
và cộng đồng sẽ hòa đồng với các đặc tính chung
của giáo dục và nó thể hiện một cơ hội đáng kể để
phát triển các sản phẩm tri thức bền vững hơn và
tránh 'đồ bị bỏ quên'. Nhưng việc thay đổi các thực
tiễn làm việc cần thiết của giáo dục là một quá
trình dài hạn, đòi hỏi sự cam kết và kế hoạch. Thậm
chí khi giáo dục thực sự muốn thay đổi, nó sẽ cần
giúp để hiểu các bài học học được từ sự phát
triển của phần mềm nguồn mở. Dường như là thách
thức đó là nhiều đối với cộng
đồng nguồn mở (bản
dịch tiếng Việt) để đưa ra dạng trợ giúp này khi
điều này là cho bản thân giáo dục để thay đổi.
Các tài liệu tham
khảo
CAPRA, E. &
WASSERMAN, A. (2008) A Framework for Evaluating Managerial Styles in
Open Source Projects. IN RUSSO, B. (Ed.) Open Source Development,
Communities and Quality. Milano, Italy, Springer.
GARCIA, J. &
STEINMUELLER, E. (2003) The Open Source Way of Working: a New
Paradigm for the Division of Labour in Software Development. SPRU
Electronic Working Paper Series. University of Sussex.
Open
source is more than a style of licence. While it’s true that the
formal Open Source Initiative (OSI) definition lists a number of
licences and distribution-related points, the big picture summary on
the OSI’s homepage paints a rather different picture:
‘Open
source is a development method for software that harnesses the power
of distributed peer review and transparency of process.’
This
definition puts a different slant on the distinction between open
source and proprietary (or closed source) software. By highlighting
the social manner in which software is actually created (the
involvement of a wide range of people, including software developers,
researchers and users, and the public way in which they work) it
moves the focus away from licensing and distribution. As open source
becomes increasingly popular, with more and more people wanting to
label their software as open source, this distinction is important.
It is becoming necessary to return to the founding principles of open
source in order to explain the original vision more completely.
‘Open
development is an emerging term used to describe the community-led
development model found within many successful free and open source
software projects.’
–
OSS Watch wiki
The
term open development method (ODM), or sometimes community-led
development, has been coined to describe this collaborative way of
working1.
In this model, there is primary emphasis on collaboration and the
role of a community. Gianugo Rabellino, former CEO of SourceSense, a
leading European open source services company says: ‘To me, open
development really is what open source [has always] been. So, open
source was intended as a development methodology, as a way to build
artefacts, which happen to be software, in a collaborative way which
is based on transparency, on meritocracy and on neutrality [over
ownership] and you need all of them.’
In
fact, some researchers argue that open source projects can be placed
on a continuum that stretches between ‘fully open’ and ‘fully
closed’, based on an evaluation of the project’s management and
governance styles and an appraisal of the ‘openness’ of the
project itself rather than the software produced (Capra and
Wasserman, 2008). ODM-based projects sit at one end of this.
This
view is backed up by practitioners actually working on open source
software, some of whom argue that a distinction between what are
loosely called ‘open source’ and ‘open development’ projects
is beginning to emerge. Developers involved in the former remain
focused on licensing and distribution issues, while in the latter it
is the processes of the project that matter. Justin Erenkrantz, fomer
President of the Apache Software Foundation2,
says: ‘You are really starting to see perhaps not a split but kind
of two camps: you have the open source but on the other hand you have
the open development.’
Justin
cites the fact that all the work takes place in public as being the
important distinction. He says: ‘What we are seeing is some
projects and entities who are saying here is the source code, it is
under Apache licence or GPL or whatever, but the decisions about how
the code got to that state are behind some wall – it is not in
public.’ This, he argues, is detrimental to the process of coding.
Although the end product might be formally classed as open source, it
is not a good way to develop sustainable products. He says: ‘You
can use it and you have all the rights, but what you don’t have as
a developer is an understanding of how the code got that way. So you
run into some bug and you say, “Why is the code this way?” There
is no historical context or archiving or rationale.’
For
Gianugo, this public way of working means that ODM represents a
re-balance of the power between developers and users. He says: ‘I
am not going to collaborate on something that I don’t feel any
sense of belonging to … There is no open development if I cannot
influence and have my say in what we do and what we are trying to
build. That is not open development, that is free labour!’
Ross
Gardler, fomer Manager of OSS Watch3,
believes that ODM can be formalised by looking at a number of key
attributes that characterise an open development community, namely:
- a deep level of user engagement: if you don’t have users then there is no point having a project.
- transparency: being open in what the community is undertaking and the way decisions are made.
- collaboration: a means of working within a diverse group of people, something that the Internet has obviously made easier.
- agility: once work begins and there is a serious engagement with users, ideas and plans may need to change.
- sustainability: having the capacity to keep developing an application solution over the necessary period of time.
- tools: wikis, bug- and version-trackers and email lists to support the development of the community and keep track of intellectual property rights, if relevant.
For
Gianugo, agility is an interesting issue with regard to open
development. He thinks that on the surface it does not look as though
agile development methods and open development work together very
well. He says: ‘If you think that one of the key ideas of agile is
the unity of time and location – you need to be in the same place
at the same time and doing a lot of discussion face-to-face – and
then you have open development which is based on asynchronous,
distributed working, etc., then it looks like oil and water – they
don’t mix.’ He says this is an ongoing issue for developers and
that SourceSense is working to find a set of common practices that
might make open source more agile and agile development methods more
open.
Many
people cite the importance of the ASF to the emergence of the open
development method and Gianugo, an Apache member, concurs. He says:
‘I believe that Apache is a sort of poster-child when it comes to
open development, but this is not to say that there are not other
organisations doing it - for example, Eclipse, and Mozilla to some
extent. But if you look at Apache, what we want is really durable
_communities _because we know that durable communities will keep on
producing code.’ He likens these communities to diverse ecosystems
whose survival is in part guaranteed by the very diversity of
developers, service providers, technical writers, users and
researchers involved in a typical, large Apache project.
Justin
Erenkrantz traces the beginnings of the ODM back to the earliest days
of the Apache webserver, which was to become the foundation’s first
open source product. An early webserver being built at the National
Center for Supercomputer Applications (NCSA) in Illinois was left
unsupported when the staff moved to Netscape and the server’s
technical users were left stranded. Informally, a group of concerned
users started to share problems and fix bugs by email. Justin
recalls: ‘They started trading patches and stuff. Independently all
these guys were trying to maintain this kind of ball of mud. So they
said let’s work together so that we can make something better than
each one of us individually could make on our own.’ Making
decisions and documenting them in public became a very important part
of this ethos, as the developers wanted to make sure that the same
thing could never happen again.
What
are the implications of the ODM for higher and further education? At
first it may seem that its most likely impact would be on the way in
which e-learning, research and business systems software is
developed. But the ODM way of working can be expanded beyond
software. Juan Mateos Garcia and W. Edward Steinmueller, from the
Science and Technology Policy Research Unit at Sussex University
(SPRU) at the time of
writing, note that: ‘The broader relevance … is the possibility
that it might be a model that is applicable to a much broader range
of activities involving the creation of common or public information
goods’ (Garcia and Steinmueller, 2003). They argue that the
Internet provides the capability to assemble large virtual
communities that can support collective endeavour and that these
endeavours need not be limited to software. They suggest different
ways in which open development methods can be used for collective
authoring, research projects and collaborative collection of
information. This takes open source beyond the crafting and
distribution of code and into the realms of new ways to undertake
innovation.
For
Gianugo, the ODM presents a significant challenge to education, which
he argues is in danger of missing out on the opportunities offered by
the open development method. He agrees that this goes far beyond the
way in which software is developed for research, e-learning or
administration projects. It also has implications for the ways in
which universities create new knowledge.
Gianugo
points out that the existing research model of dissemination through
peer- reviewed journal-paper publication (and academic reward schemes
based on these outputs) may need to be reviewed in the light of
recent developments. He says: ‘The problem is that this research
model is clearly colliding with what the collaboration world is
telling us. There is a risk of becoming less relevant.’
Universities have to do much more to encourage reach-out from their
research work, to engage the wider public and, most importantly, to
allow others to build on what they have achieved. Continuing with
traditional communication routes means that important research
material may not see the light of day, experimental data may not be
shared and software projects might become what he calls
‘abandon-ware’. This is especially true of research projects that
make use of code, which should be developed using the same
development environments and source code versioning systems as open
source code anyway. It is a short step to opening this up to others.
He says: ‘I can’t imagine anyone doing any serious [software
engineering] work without software configuration, versioning tools
and so forth and so at that point, since you need it anyway, why not
do it using the open methods?’
For
Gianugo, there is merit in exploring ways in which experimental data
and early research results could be shared before formal publication.
If this is seen as a bridge too far, then he suggests that
institutions experiment with an internal community of researchers
that uses the open development method. He goes further, though,
arguing that this needs to be tackled strategically and that the way
in which academic reward is distributed needs to be rethought. There
should be more interest in widening the peer-review process to reach
out from the university world. He says: ‘On the strategic side, if
the whole rating system, star ratings, is broken, well let’s fix
it. The Internet is paving the way for an entirely new recognition
system, an entirely new ranking system. I don’t see why the
Internet shouldn’t be harvested to sort of rate whether a
researcher is doing a good job in terms of out-reach.’
Gianugo also argues that
researchers need to make more use of the tools and techniques that
are now common in open source development. He says: ‘Forums,
mailing lists, the whole idea is that here is the source code, here
is the repository, so everything goes there and by the way here is a
Wiki attached to it and a mailing list. It doesn’t really matter if
no one subscribes to it [at first], but eventually there will be
someone willing to do that and I would say education needs to make
more use of these tools.’ Andrew Savory, former Open Source Manager
for the LiMo Foundation4,
warns, however, that the quality of this kind of support
infrastructure has to be high. He says: ‘I’ve worked in some
environments where the checklist had been done - licence, wikis,
mailing lists, code repository, issue tracker – but the
infrastructure put in place was simply not up to scratch. This can
kill a community before it has a chance to start!’5
Introducing
the ODM to the education world may, however, be a significant
challenge. Andrew advises that education needs to understand the
benefits and drawbacks of the ODM and to work hard to determine when
and where it’s most appropriate to use it. He also notes that: ‘It
takes a particular type of person, and not everyone can cope well
with the mindset required.’ Gianugo thinks that this will require
long-term thinking and he argues that the key might be to focus
efforts on training the next generation of researchers and
education-based code developers in the new techniques. He cites the
Google Summer of Code initiative as one example to follow.
The
Open Development Method offers a new way of developing both software
and other knowledge-related products. Its focus on openness and
community should chime with the general ethos of education and it
presents a significant opportunity to develop more sustainable
knowledge products and avoid ‘abandon-ware’. But changing the
requisite educational working practices is a long-term process that
requires commitment and planning. Even when education really wants to
change it will need help in understanding the lessons learned from
open source software development. It appears that the challenge is as
much to the open
source community to offer this kind of help as it is to education
itself to change.
CAPRA,
E. & WASSERMAN, A. (2008) A Framework for Evaluating Managerial
Styles in Open Source Projects. IN RUSSO, B. (Ed.) Open
Source Development, Communities and Quality.
Milano, Italy, Springer.
GARCIA,
J. & STEINMUELLER, E. (2003) The Open Source Way of Working: a
New Paradigm for the Division of Labour in Software Development. SPRU
Electronic Working Paper Series.
University of Sussex.
Dịch: 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.