Thứ Hai, 22 tháng 4, 2013

TexGen: một trường hợp điển hình

TexGen: a case study
By OSS Watch, Published: 17 June 2009, Reviewed: 11 June 2012
Bài được đưa lên Internet ngày: 11/06/2012
Lời người dịch: Trường hợp cuối cùng trong số 7 trường hợp điển hình trong loạt bài về tính bền vững của một dự án phần mềm tự do nguồn mở, là dự án TexGen. Nó là sự kết hợp khéo léo giữa giới hàn lâm và giới công nghiệp sao cho những đặc tính của các giới đó được phát huy, được nhân rộng và tạo ra nhiều sản phẩm hơn nữa cho nhiều lĩnh vực từ một dự án phần mềm tự do nguồn mở ban đầu. Là một tham chiếu rất tốt cho việc nghiên cứu gắn với sản xuất ở môi trường đại học.
TexGen là một chương trình được viết và được duy trì như một phần của công việc của Nhóm Polyme Tổng hợp (Polymer Composites Group) tại Đại học Nottingham. Mấu chốt cho vài trong số các dự án được nhóm cấp vốn, nó đã được mở nguồn vào cuối năm 2006 như một phần của một chiến lược để làm cho nó sẵn sàng cho các cộng đồng nghiên vứu hàn lâm và công nghiệp rộng lớn hơn. Thông qua vai trò của nó trong các dự án được cấp vốn đó, TexGen đóng một phần quan trọng trong việc mang việc cấp vốn tới nhóm. Hơn nữa, nhóm tin tưởng rằng quyết định làm cho TexGen sẵn sàng một cách tự do đã lôi cuốn được cả một số bao cấp mà nếu không có thể đã không xảy ra, cũng như là một yếu tố trong sự làm mới lại 'Nền tảng Grant' EPSRC chống trụ cho nhóm.
Giới thiệu TexGen
TexGen tạo ra các mô hình thực tế của sợi dệt, bao gồm cả các thuộc tính của chúng. Ứng dụng đầu tiên của nó là trong thiết kế và sản xuất các vật liệu tổng hợp được tăng cường các sợi phíp. Một vật liệu tổng hợp là một vật liệu được làm bằng sự kết hợp của 2 vật liệu đang tồn tại; trong một vật liệu tổng hợp được tăng cường sợi phíp, các sợi phíp cứng và mạnh hình thành nên một phần của chất tổng hợp, tăng cường cho phần khác. Trong sản xuất, điều phổ biến đối với việc tăng cường vật liệu sẽ được cung cấp ở dạng sợi dệt, len từ 'sợi' làm từ các sợi phíp. TexGen tạo ra các mô hình máy tính của các sợi dệt như vậy, kết hợp cấu trúc của sự đan kết, sao cho để mô phỏng hành vi của vật liệu.
Lịch sử
Sự phát triển của TexGen đã bắt đầu trong Nhóm Polyme Tổng hợp tại Đại học Nottingham vào năm 1998, khi các thuật toán ban đầu đã được thừa nhận và phiên bản đầu tiên của phần mềm đã được viết. Vào năm 2002, nó đã đạt tới phiên bản 2 sau khi được viết lại.
Đã luôn là vấn đề rằng TexGen được phát hành một cách tự do cho các đối tác nghiên cứu của nhóm. Nó cũng từng được cung cấp theo yêu cầu cho bất kỳ ai mà nhóm xem là một đối tác nghiên cứu tiềm năng, dù chỉ khoảng 10-20 yêu cầu như vậy đã nhận được. Dù nó không sẵn sàng một cách công khai để tải về, và nó từng là mục tiêu của nhóm rằng fnos sẽ được làm cho sẵn sàng theo cách này. Tuy nhiên, phiên bản 2 đã có vài điểm yếu mà từng là một trở ngại cho các kế hoạch để phát hành phần mềm một cách rộng rãi hơn nữa, và cũng đã gây ra những khó khăn cho bản thân nhóm, cho các nỗ lực phát triển nội bộ.
Đầu tiên, nó đã không bao giờ được lên kế hoạch sao cho nhiều lập trình viên có thể làm việc với kho mã, nên đã không có đủ tài liệu về mã và không có thiết kế rõ ràng. Điều này đã gây ra các vấn đề, khi nó ngụ ý rằng các yêu cầu tính năng, thậm chí từ bên trong nhóm, đã khó để thích nghi.
Nếu một phiên bản rộng lớn hơn lôi cuốn được các yêu cầu bổ sung từ các đối tác bên ngoài, thì nó có thể cần thiết để đảm bảo cho các bên đó có thể bản thân họ bổ sung các tính năng hơn là mong đợi lập trình viên duy nhất của dự án làm như thế. Tài liệu không đủ, và mã là khó hiểu, có thể không lôi cuốn được những người đóng góp tiềm năng từ bên ngoài vì khó nắm bắt được kho mã.
Hơn nữa, mã từng phụ thuộc vào các thành phần của Microsoft Windows nghĩa là nó có thể không chạy được trên các hệ điều hành khác, như bó máy hiệu năng cao của phòng. Cuối cùng, nó cũng đã phụ thuộc vào một thành phần của bên thứ 3 mà giấy phép của nó cấm phân phối lại với TexGen. Điều này có thể là một rào cản đáng kể cho sự phân phối và hấp thu rộng rãi hơn của TexGen, khi những người sử dụng có thể đã phải có thiện chí giành được thành phần cần thiết này. Vì thế, phiên bản 3, đã có cấu trúc và tài liệu tốt hơn, với một thiết kế rõ ràng đi trước sự triển khai, và không phụ thuộc vào một hệ điều hành hay thành phần sở hữu độc quyền đặc biệt nào.
Mở nguồn
Đó từng là ý định của nhóm làm cho TexGen sẵn sàng một cách tự do: nếu mọi người có thể tải về TexGen và sử dụng nó tự do, thì sự sử dụng tình cờ như vậy có thể dẫn tới sự cộng tác. Tuy nhiên, nó từng là gợi ý của các sinh viên phát triển phiên bản 3 mà TexGen được làm thành nguồn mở. Những người giám sát dự án đồng ý, vì các lý do được nêu bên dưới. Nhóm chọn phát hành TexGen theo giấy phép GPLv2.
Lý do đầu tiên cho việc phát hành như nguồn mở là phần mềm không mới trong bản thân nó, và, trong khi một số thuật toán của nó là mới, thì chúng đã từng được xuất bản. Điều này có nghĩa rằng nhóm có thể từng không bỏ đi bất kỳ nghiên cứu quan trọng nào trong mã nguồn được mở mà chưa được làm cho sẵn sàng một cách công khai. Ngược lại, ở những nơi mà các kỹ thuật được thể hiện trong phần mềm có thể chưa được phát hành trong bản thân chúng, nhưng nhóm vẫn còn muốn phổ biến theo một số cách, thì bản thân mã có thể là một cách để phổ biến công việc như vậy.
Lý do khác là những người sử dụng có thể giành được lòng tin trong chương trình nếu họ có khả năng, bằng việc nghiên cứu mã, xem cách mà những vấn đề nhất định được giải quyết. Ví dụ, bất kỳ sự không chắc chắn nào về bất kỳ khía cạnh nào của sự vận hành phần mềm có thể cuối cùng được giải quyết bằng việc xem xét mã nguồn của nó. Hơn nữa, mọi người có thể giành được sự hiểu biết rõ hơn về TexGen bằng việc nghiên cứu mã nguồn của nó, và điều này có thể dẫn họ tới việc có khả nâng sử dụng nó theo các cách thức mềm dẻo hơn và thông minh hơn. Hơn nữa, với mã sẵn sàng và quyền tiến hành những sửa đổi, các bên thứ 3 cũng có thể kết hợp các mở rộng của riêng họ vào chương trình.
Cuối cùng, vấn đề các quyền sở hữu trí tuệ (IPR) được đơn giản hóa bằng việc phát hành phần mềm như là nguồn mở. Vì tư liệu bị ảnh hưởng đã được phát hành như nguồn mở, nên các đối tác sử dụng phần mềm không còn cần phải cân nhắc liệu có bất kỳ hạn chế nào cần phải được đặt ra trong sử dụng TexGen của họ dù giữ lại sở hữu trí tuệ của đại học.
Một con đường có thể lựa chọn từng là lấy tiền cho các giấy phép phần mềm như một sản phẩm. Tuy nhiên, nhóm đã từ chối điều này. Đầu tiên, các khách hàng thương mại có thể mong đợi sự hỗ trợ, mà nhóm đã không muốn đưa ra. Lý do đáng kể nữa là, nếu phần mềm phải được mua, thì sử dụng ngẫu nhiên mà có thể đã dẫn tới những cộng tác đâm hoa kết trái có thể sẽ không xảy ra. Bổ sung thêm, nó có thể có nghĩa là tất cả sự phát triển có thể phải được làm trong nội bộ, việc gia tăng tiếp tục cong việc cho nhóm. Và, trong khi điều này có thể được làm tốt hơn, ví dụ, bằng việc bước vào một mối quan hệ đối tác, bản chất tự nhiên của một mối quan hệ đối tác thương mại có thể cấm những sự cộng tác với những người khác, các công ty cạnh tranh. Cuối cùng, TexGen có lẽ chỉ mạnh mẽ được để bán như một phần của một hệ thống lớn hơn, chứ không phải của một mình nó.
Viết các script cho TexGen
Một tính năng đáng chú ý của phiên bản 3 của TexGen là nó có thể được kiểm soát thông qua các script được viết trong ngôn ngữ Python, hoặc được sử dunngj như một thành phần của các chương trình Python. Dù bằng cách nào, thì điều này cũng cho phép người ta phát triển các chương trình mà bản thân chúng không phải là một phần của TexGen, nhưng có thể sử dụng các tiện ích được cung cấp như những giao diện lập trình ứng dụng (API) của nó. Bằng việc sử dụng này, người ta có thể, có hiệu lực, mở rộng TexGen với chức năng bổ sung mà không phải sửa đổi bản thân TexGen, hoặc tự động hóa sự tuần tự của các hoạt động có thể nếu khác đi sẽ phải được làm bằng tay thông qua giao diện người sử dụng của TexGen.
Từ quan điểm kỹ thuật, việc có khả năng tùy biến hoặc mở rộng chức năng của TexGen từ một chương trình của một người, tách bạch là điều mong muốn vì có khả năng sẽ dễ dàng hơn cho việc sửa đổi mã của TexGen. Ai đó đang sử dụng TexGen theo cách này đơn giản cần hiểu các chức năng của nó đối với những đầu vào nào được mong đợi, và đầu ra nào được cung cấp; đó là, từng chức năng mà TexGen đưa ra có thể được đối xử như một 'hộp đen', trong đó người ta không cần biết nó làm việc như thế nào, miễn là người ta sử dụng nó theo API được làm thành tài liệu. Việc sửa đổi mã của TexGen, mặt khác, có thể đòi hỏi một lập trình viên để hiểu, ở mức độ nào đó, toàn bộ kiến trúc của TexGen, và các chi tiết hoạt động nội bộ của nó.
Hơn nữa, các script bên ngoài cho phép những người sử dụng mở rộng TexGen trong khi vẫn giữ các sửa đổi đó tách bạch khỏi kho mã chính. Điều này có thể là mong muốn, ví dụ, để làm trễ sự xuất bản mã cho tới khi nghiên cứu được xuất bản hoặc để giúp trong việc quản lý sở hữu trí tuệ của một viện trường hoặc công ty. Đáng lưu ý rằng trong một dự án nguồn mở lành mạnh, tất cả những sửa đổi được quyên cúng trở ngược lại cho dự án gốc, nơi mà chúng sẽ được chấp nhận hoặc từ bỏ dựa vào các mục tiêu chiến lược của dự án. Tuy nhiên, trong một số môi trường, điều này có thể là không mong muốn, như là trường hợp với các đầu ra của nghiên cứu. Vì các nhà nghiên cứu có khả năng mở rộng ứng dụng thông qua một API được xuất bản, các lập trình viên của TexGen có thể thay đổi TexGen một cách nội bộ theo bất kỳ cách gì mà họ muốn mà không có việc phá vỡ tính tương thích với các script của người sử dụng, miễn là họ không thay đổi giao diện (API) được định nghĩa mà các script bên ngoài phụ thuộc vào. Đối với các lập trình viên của các script bên ngoài, điều này có nghĩa là giao diện của họ đối với chức năng của TexGen có khả năng vẫn ổn định qua các phiên bản khác nhau của chương trình. Những sửa đổi được thực hiện trực tiếp tới mã nguồn của TexGen, ngược lại, có thể dễ dàng xung đột với những thay đổi trong các phiên bản mới của TexGen, và trong bất kỳ trường hợp nào của phải được áp dụng lại cho mã của từng phiên bản mới. Một khi nghiên cứu được xuất bản, những sửa đổi mã đó có thể được xuất bản, cho phép TexGen giữ là phù hợp cho lĩnh vực đó.
Điều hành và xây dựng cộng đồng
TexGen là một phần của vài dự án rộng hơn, đang tiếp tục trong một phòng của đại học, và sự phát triển của TexGen được các thành viên của các dự án đó thực hiện; những đóng góp mở rộng ban đầu đã tới từ alumni. Như vậy, không có mô hình điều hành chính thống. Các nỗ lực tích cực trong xây dựng cộng đồng là ở dạng xuất bản công khai TexGen tại các hội nghị hàn lâm, các hội thảo của giới công nghiệp, … ; một 'cụm' các bản tải về thường theo sau những sự kiện như vậy.
Trong khi công việc về TexGen vẫn còn được thực hiện chủ yếu từ các thành viên của nhóm, thì hạ tầng của dự án từng được thiết lập theo một cách thức như vậy như để làm cho nó dễ dàng để tham gia với những người đóng góp bên ngoài, họ sẽ nổi lên. Các tính năng là chìa khóa cho thực tiễn của phát triển mở - một hệ thống kiểm soát phiên bản, một trình theo dõi các vấn đề công khai và các diễn đàn công khai - tồn tại và được các lập trình viên hiện hành sử dụng lại, thậm chí cả khi thiếu đầu vào đáng kể từ bên ngoài. Điều này đưa ra một cách dễ hiểu phổ biến cho những người ngoài để tham gia với một dự án nguồn mở. Tuy nhiên, để có một mô hình điều hành rõ ràng, việc đưa ra các qui tắc theo đó cộng đồng vận hành, có thể là mong muốn: nó làm rõ tình trạng của các thành viên của dự án, và được lôi cuốn trong trường hợp có tranh cãi. Việc có khả năng hiểu trước các điều kiện theo đó một dự án vận hành cho phép những người đóng góp lập kế hoạch cho sự tham gia của họ.
Kết quả đầu ra
TexGen đã thấy những người sử dụng trong cả giới hàn lâm và công nghiệp, với hơn 3.00 bản tải về được đăng ký cho tới tháng 05/2009. Đáng chú ý, các bao cấp nghiên cứu và các mối quan hệ đối tác đáng giá đã tới từ các công ty chỉ có thể trở nên hiểu được rằng Nottingham đã sở hữu sự tinh thông mà mối quan hệ đỡ đầu này có thể đã không xảy ra khi TexGen đã không được sẵn sàng một cách công khai và là tự do, khi các công ty đó có thể ít có khả năng hơn để bắt đầu sử dụng phần mềm đó.
Bây giờ, TexGen được sử dụng trong 8 trong nhóm tổng số khoảng 20 dự án được cấp vốn. Trong 4 trong các trường hợp đó, các đối tác công nghiệp đã khởi tạo dự án từng là những người sử dụng đang tồn tại của TexGen, đã tải nó về kể từ phát hành nguồn mở của nó. Nhóm này tin tưởng rằng 2 trong số các đối tác đã tiếp cận Đại học Nottingham như là kết quả của việc tải về và sử dụng TexGen của họ. Giá trị của các 2 tài trợ đó là £176k and £318k. Những phần thưởng đó, được tập trung vào hiệu năng của các sợi dệt về kỹ thuật và đồ thêu trang trí, đại diện cho những đường hướng mới cho nhóm, hoàn toàn với các đối tác mới từ các khu vực kinh doanh mới.
Quan trọng nhất đối với Đại học, sự cung cấp các phần mềm như là nguồn mở từng là yếu tố chính trong việc đảm bảo sự làm lại mới Nền tảng Grant có uy tín của EPSRC để chống trụ cho nghiên cứu cơ bản trong tương lai có liên quan tới sợi dệt và sợi tổng hợp kỹ thuật. Phần thưởng này, trị giá £836k trong vòng 4 năm, hỗ trợ cho nhóm như là một tổng thể, không chỉ các hoạt động của nó có liên quan tới TexGen. Làm cho TexGen sẵn sàng tự do như nguồn mở đã giúp cho nhóm bày ra được một con đường rõ ràng cho sự phổ biến vầ khai thác công việc của nó, như được cơ quan cấp vốn mong đợi: Giáo sư Long, Trưởng khoa về Nghiên cứu tại Kho Kỹ thuật tại Đại học Nottingham nói: 'Tại cuộc phỏng ván của chúng tôi [cho sự làm mới lại trợ cấp], các thành viên của nhóm (các nhà nghiên cứu lâu năm và các đại diện giới công nghiệp) đã cực kỳ có ấn tượng với tiếp cận của chúng tôi [đối với việc phổ biến TexGen], và đặc biệt kho người sử dụng rất rộng rãi và dảy các ứng dụng mà điều này đã tạo ra'.
Kết luận
Tiếp cận của nhóm Nottingham về phổ biến và khai thác TexGen là một tiếp cận theo đó bản thân phần mềm không được đối xử như là tài sản ban đầu sẽ được khai thác. Thay vào đó, trọng tâm của nhóm vẫn là nghiên cứu rộng hơn của nó. Vai trò của TexGen được mở nguồn vì thế là như một phương tiện xúc tác cho nghiên cứu tiếp tục trong lĩnh vực đó, cả trong và ngoài Nottingham, và như một phương tiện cho việc nhân giống một phần công việc của nhóm và quảng cáo cho sự tinh thông của họ. Điều này đã có lợi không chỉ cho những người trong giới hàn lâm và công nghiệp mà đã giành được mọt công cụ mới để sử dụng trong công việc của họ, mà còn mang lại những lợi ích ngược trở lại cho bản thân Nottingham; Trước hết, cơ quan mà thưởng cho việc chống trụ cho Nền tảng Grant đã nhận thức được điều này như một tiếp cận thành công cho sự phổ biến, một yếu tố chủ chốt trong sự làm mới lại trợ cấp. Thứ 2, nó đã lôi cuốn được 2 trợ cấp bổ sung cho dự án từ các đối tác từng được truyền cảm hứng để tiếp cận Nottingham nhờ sử dụng TexGen của họ. Cuối cùng, nó đã cho phép công việc của nhóm lan truyền vượt ra khỏi lĩnh vực thông thường của nó và được sử dụng trong các lĩnh vực khác. 2 trợ cấp bổ sung cho dự án mà phần mềm đã lôi cuốn được đã minh họa cho cách mà các dự án nguồn mở có thể được khai thác thành công và bền vững (bản dịch tiếng Việt), với 2 đối tác đó đưa ra tính ứng dụng được sự tinh thông của Nottingham cho lĩnh vực của riêng họ nhờ sử dụng TexGen của họ.
TexGen is a program written and maintained as part of the work of the Polymer Composites Group at Nottingham University. Key to several of the group’s grant-funded projects, it was open sourced in late 2006 as part of a strategy to make it available to the wider industrial and academic research communities. Through its role in these funded projects, TexGen plays an important part in bringing research funding to the group. Furthermore, the group believes that the decision to make TexGen freely available has both attracted some grants which otherwise might not have been forthcoming, as well as being a factor in the renewal of the group’s underpinning EPSRC ‘Platform Grant’1.
Introduction to TexGen
TexGen generates realistic models of textiles, including their properties. Its primary application is in the design and manufacture of fibre-reinforced composites. A composite material is one that is made by combining two existing materials; in a fibre-reinforced composite, stiff, strong fibres form one part of the composite, reinforcing the other. In manufacturing, it is common for this reinforcing material to be supplied in textile form, woven from ‘yarns’ made from the fibres. TexGen creates computer models of such textiles, incorporating the structure of the weave, so as to simulate the behaviour of the material.
History
Development of TexGen began in the Polymer Composites Group at Nottingham University in 1998, when the initial algorithms were conceived and the first version of the software was written. In 2002, it reached version two after being re-written.
It had always been the case that TexGen was released freely to the group’s research partners. It was also supplied on demand to anyone the group considered a potential research partner, though only around 10 or 20 such requests were received. It was not, though, publicly available for download, and it was a goal of the group that it should be made available in this way. However, version two had several weaknesses that were an obstacle to these plans to release the software more widely, and which also caused difficulties for the group’s own, internal development efforts.
First, it had never been planned that multiple developers would work on the code base, so there was insufficient documentation of the code and no clear design. This was already causing problems, as it meant that the project was being maintained by a single developer, a PhD student. Having only one developer meant that feature requests, even from within the group, were difficult to accommodate. If a wider release attracted additional requests from external parties, it would be necessary to ensure those parties could add the features themselves rather than expecting the single project developer to do so. Insufficient documentation, and code that is difficult to understand, can be off-putting to potential external contributors because it is difficult to get to grips with the code base.
Furthermore, the code was dependent on components of Microsoft Windows, meaning it could not run on other operating systems, such as the department’s high-performance cluster. Finally, it also depended on a third-party component whose licence prohibited redistribution with TexGen. This would have been a significant barrier to TexGen’s wider distribution and uptake, as users would have had to be willing to obtain this necessary component. Version three, therefore, was to be better structured and documented, with a clear design preceding implementation, and not dependent on one particular operating system or proprietary component.
Open sourcing
It was the intention of the group to make TexGen freely available: if people could download TexGen and use it for free, such casual use might lead to collaboration. However, it was the suggestion of the students developing version three that TexGen be made open source as well. The supervisors of the project agreed, for the reasons set out below. The group chose to release TexGen under the GNU General Public License v2.
The first reason for releasing as open source was that the software is not novel in itself, and, while some of its algorithms are novel, these had already been published. This meant that the group would not have been giving away any important research in the open sourced code that was not already publicly available. Conversely, where there are techniques embodied in the software that would not be publishable in themselves, but that the group still want to disseminate in some way, the code itself can be a way of disseminating such work.
Another reason was that users might gain confidence in the program if they were able, by studying the code, to see how certain problems are solved. For example, any uncertainty regarding any aspect of the operation of the software could ultimately be resolved by examining its source code. Further, people could gain a more thorough understanding of TexGen by studying its source code, and this might lead to them being able to use it in more flexible and intelligent ways. Furthermore, with the code available and the right to make modifications, third parties could also incorporate extensions of their own into the program.
Finally, intellectual property rights (IPR) issues are simplified by releasing the software as open source. Because the affected material has already been released as open source, partners using the software would no longer need to consider whether any limitation need be placed on their use of TexGen so as to preserve the university’s intellectual property.
An alternative route might have been to charge for software licences as a product. The group, however, rejected this. First, commercial customers would expect support, which the group did not want to provide. Another significant reason was that, if the software had to be bought, casual use that might have led to fruitful collaborations would not occur. In addition, it would mean that all development would have to be done in-house, further increasing the work for the group. And, while this could be ameliorated by, for example, entering into a partnership, the nature of a commercial partnership might inhibit collaborations with other, competing companies. Finally, TexGen would probably only have been viable to sell as part of a larger system, not on its own.
Scripting TexGen
A notable feature of version three of TexGen is that it can be controlled via scripts written in the Python computer language, or be used as a component by Python programs. Either way, this allows one to develop programs that are not themselves part of TexGen, but that can use facilities provided by it. The specification of the exact functionality that TexGen offers to external programs is known as its Application Programming Interface (API). Using this, one can, in effect, extend TexGen with additional functionality without having to modify TexGen itself, or automate sequences of operations that would otherwise have to be done manually through TexGen’s user interface.
From a technical point of view, being able to customise or extend TexGen’s functionality from one’s own, separate program is desirable because that is likely to be easier than modifying TexGen’s code. Someone using TexGen in this way simply needs to understand its functions in terms of what inputs are expected, and what outputs are provided; that is, each function that TexGen offers may be treated as a ‘black box’, in that one need not know how it works, so long as one uses it according to the documented API. Modifying TexGen’s code, on the other hand, would require a programmer to understand, to some extent, TexGen’s overall architecture, and details of its internal operation.
Furthermore, external scripts allow users to extend TexGen while still keeping the modifications separate from the main code base. This may be desirable, for example, in order to delay code publication until research has been published or to help in managing an institution’s or company’s intellectual property. It should be noted that in a healthy open source project all modifications are donated back to the core project, where they will be accepted or rejected based on the strategic goals of the project. However, in some environments this may not be desirable, as is the case with research outputs. Since researchers are able to extend the application via a published API, TexGen developers can change TexGen internally in any way they want without breaking compatibility with users’ scripts, so long as they do not change the defined interface (API) that external scripts depend on. For the developers of the external scripts, this means that their interface to TexGen’s functionality is likely to stay stable over different versions of the program. Modifications made directly to TexGen’s source code, by contrast, could easily conflict with changes in new versions of TexGen, and in any case must be re-applied to the code of each new version. Once the research has been published, these code modifications can be published, allowing TexGen to remain relevant to the domain.
Governance and community building
TexGen is part of several continuing, wider projects within a university department, and development of TexGen is done by members of those projects; external contributions have come primarily from alumni. As such, there is no formal governance model. Active efforts at community building take the form of publicising TexGen at academic conferences, industrial seminars, and so on; a clear ‘spike’ in downloads often follows such events.
While the work on TexGen is still done mainly by members of the group, the project’s infrastructure was set up in such a way as to make it easy to engage with external contributors, should they emerge. Features key to the practice of open development - a version control system, a public issue tracker and public forums - exist and are used by the current developers, even in the absence of significant external input. This provides an easy and commonly understood way for outsiders to engage with an open source project. However, to have a clear governance model, setting out the rules by which the community operates, would be desirable: it clarifies the status of the members of the project, and be appealed to in case of dispute. Being able to understand in advance the conditions under which a project operates allows contributors to plan their involvement.
Outcome
TexGen has found users in both academia and industry, with over 3000 downloads registered by May 2009. Notably, valuable research grants and partnerships have come from companies that may only have become aware that Nottingham possessed the expertise they sought thanks to their experience of TexGen. The TexGen development team is convinced that this sponsorship would not have occurred had TexGen not been freely and publicly available, as those companies would have been less likely to have begun using the software.
At present, TexGen is used in eight of the group’s total of roughly 20 funded projects. In four of those cases, the industrial partners that initiated the project were existing users of TexGen, having downloaded it since its open source release. The group believes that two of these partners approached Nottingham University as a result of their downloading and using TexGen. The value of these two grants is £176k and £318k. These awards, focused on performance of technical textiles and apparel, represent new directions for the group, with entirely new partners from new business sectors.
Most importantly to the University, provision of the software as open source was a key factor in securing renewal of a prestigious EPSRC Platform Grant to underpin future fundamental research related to technical textiles and composites. This award, worth £836k over four years, supports the group as a whole, not just its activities concerning TexGen. Making TexGen freely available as open source helped the group to demonstrate a clear route for dissemination and exploitation of its work, as required by the funding body: Prof. Long, Associate Dean for Research at the Faculty of Engineering at Nottingham University, states: ‘At our panel interview [for renewal of the grant], the panel members (senior academics and industry representatives) were extremely impressed by our approach [to disseminating TexGen], and in particular the very wide user base and range of applications that this had generated.’
Conclusion
The Nottingham group’s approach to the dissemination and exploitation of TexGen is one in which the software itself is not treated as the primary asset to be exploited. Rather, the focus of the group remains its wider research. The role of the open sourced TexGen has been, therefore, as a vehicle for enabling further research in the field, both within and outside Nottingham, and as a vehicle for propagating part of the group’s work and advertising their expertise. This has benefited not only those people in academia and industry who have thereby gained a new tool to use in their work, but has also brought benefits back to Nottingham itself. First, the body that awards their underpinning Platform Grant recognised this as a successful approach to dissemination, a key factor in renewal of the grant. Second, it attracted two additional project grants from partners who were inspired to approach Nottingham thanks to their use of TexGen. Lastly, it allowed the group’s work to spread beyond its normal field and be used in different areas. The two additional project grants the software attracted both illustrated how open source projects can successfully be exploited and sustained, with these two partners realising the applicability of Nottingham’s expertise to their own area thanks to their use of TexGen.
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.