Chủ Nhật, 14 tháng 4, 2013

Tránh phần mềm bị bỏ rơi: nhận thức để hiểu thấu phương pháp phát triển mở

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.
Introducing the Open Development Method (ODM)
‘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.
ODM and the Apache Software Foundation (ASF)
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.
Education and the ODM
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.
A new research model
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?’
A way forward?
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
Towards a long-term solution
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.
References
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.