Cytoscape is an open-source project that aims to develop a network visualization and analysis application and extensible platform. Originally developed at the Institute for Systems Biology, Cytoscape has grown to involve many groups. Currently, the groups collaborate efficiently via the following process.

Communication

Process

The Cytoscape development process philosophy supports effective collaborative tool building. The groups involved in Cytoscape development have all recognized common needs in network visualization and analysis as well as individual needs and priorities. Ideally, working together saves large amounts of time for each group and allows each group to spend time working on more important projects, like life science research. To effectively manage this process, the groups collaboratively brainstorm about common needs at an annual Cytoscape Retreat and throughout the year over conference calls and on mailing lists. All features that are discussed are tracked.

There are two general types of features

Plugins

Plugins, or non-core features, are implemented as any plugin written by any interested developer anywhere. Developers implementing Cytoscape plugins are encouraged to make them available under an open-source license, but are free to make them available under any license, including a commercial one. Plugins that are publicly released can be announced on the Cytoscape announce mailing list and posted to the Cytoscape plugins web page by sending a message to the Cytoscape discuss mailing list.

Core features

A key aspect of development is that core task prioritization is based on the selfish needs of the groups involved. This ensures that features are implemented as quickly as possible and to completion. If a development group identifies a feature that they need for their research or other work and they are prepared to implement the feature, they communicate with the rest of the Cytoscape developers to make sure no one else is already working on the feature. If someone else is working on the feature, the groups collaborate to work on the feature. The features are implemented as plugins, where possible, in space set up for each user and group. When a group is ready with a feature, it is presented to the rest of the collaborators for review (API, features, code, etc.), at which point other interested groups provide feedback. Once feedback is incorporated and testing is complete, the feature is finished and packaged appropriately in the core. It is expected that core features are professionally implemented and include full Java documentation, user manual documentation and unit tests.

Modifying the Cytoscape core

As of February 2010, a more formal process for review and approval of changes to the Cytoscape core is being implemented. As Cytoscape grows, a defined process is necessary to both encourage contributions from the development community and ensure the high quality of Cytoscape code.

Overview: A team of facilitators ensures the process of consensus building and code review around core change proposals runs smoothly. An architect defines the design vision of the code.

Approval of core enhancement (consensus building process)

Code review of new enhancement implementation and non-trivial bug fixes (code quality assurance process)

Facilitators of process and code review (code quality assurance)

Cytoscape team roles

Core developer

Architect

Facilitator

Board of directors member

Community member

Community_development_process (last edited 2010-02-09 22:09:28 by GaryBader)

Funding for Cytoscape is provided by a federal grant from the U.S. National Institute of General Medical Sciences (NIGMS) of the Na tional Institutes of Health (NIH) under award number GM070743-01. Corporate funding is provided through a contract from Unilever PLC.

MoinMoin Appliance - Powered by TurnKey Linux