Difference between revisions of "Documentation/4.0/SlicerApplication/ExtensionCatalogPolicies"

From Slicer Wiki
Jump to: navigation, search
(Prepend documentation/versioncheck template. See http://na-mic.org/Mantis/view.php?id=2887)
 
(20 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=Slicer Extensions Catalog=
+
<noinclude>{{documentation/versioncheck}}</noinclude>
 +
__NOTOC__
 +
This is work in progress as of March 2012 - people with an interest in policies and practice related to this topic should contact Ron Kikinis.
  
The download site will be called '''Slicer Extensions Catalog'''. Extensions Catalog will host two types of extensions:
+
=Introduction=
*Category 1: Released Extensions
+
Slicer functionality is extensible through ''Extensions'' which can be added to the package. The slicer community maintains a website to support the finding, download and installing Extensions for 3D Slicer 4. Access to this website is integral to Slicer 4 and facilitated by the Extensions Manager functionality built into the distributed program. Please see [[Documentation/{{documentation/version}}/Developers/Tutorials/ExtensionWriting|here]] for information for software developers on how to add your extension to this website. The following text details the policies for Slicer Extensions.
*Category 2: all other extensions (work in progress, beta, etc).
 
 
 
The initial presentation when visiting the page will present only Category 1 extensions. Search will allow to search all extensions. The toplevel interface will have a link for developers to the pages describing the requirements.
 
 
 
=Requirements for Releasing a Slicer Extension=
 
 
 
To release a slicer extension, developers must meet the following conditions:
 
*must comply with the [http://www.slicer.org/pages/LicenseText Slicer License]
 
*must compile and install on all platforms supported by slicer
 
*must have test coverage of better than 60%
 
*must have documentation at a level of quality comparable to slicer core modules
 
 
 
=Brainstroming phase=
 
 
 
Selection of the name Slicer Extensions Catalog was the result of a brainstorming and discussion process by a wide range of Slicer Community participants. Some of the ideas are listed below for historical interest.
 
 
 
Firefox uses Add-ons as "parent expression" and extensions, skins/themes/appearance, and plug-ins as "children". Safari and Chrome use the term Extensions. Wikipedia uses the firefox terminology (search for plug-in). Microsoft uses the term snap-ins.
 
 
 
In the near future we will have a download site for extensions to Slicer
 
4. In terms of functionality this is like the Apple App Store or the
 
Android Market.
 
 
 
 
 
*Slicer Add-ons
 
*Slicer Extra Tools
 
*Slicer Extra Modules
 
*Slicer Outlet
 
*Slicer Tools
 
*Slicer Store
 
*Slicer Mall
 
*Slicer Market
 
*Slicer Mart
 
*Slicer Exchange
 
*Slicer Deli
 
 
 
*Slicer Plus
 
*Slicer Plus Plus (Slicer++)
 
*Slicer Extra
 
*Slicer Factorial (Slicer!)
 
*Slicer^n
 
*Slicer += N
 
*Slicer Max
 
 
 
*Slicer 1up
 
*Slicer Powerups
 
*Spawn of Slicer
 
  
 +
=Slicer Extensions Catalog=
  
*Slicer Bazaar
+
The download site is referred to as the '''Slicer Extensions Catalog'''. The Catalog classifies extensions into three levels of compliance:
*Slicer Exposition
+
*Category 1: Fully compliant Slicer Extensions: Slicer license, open source, maintained.
*Slicer Expo
+
*Category 2: open source, contact exists.
*Slicer Gallery
+
*Category 3: all other extensions (work in progress, beta, closed source etc).
*Slicer Showcase
 
*Slicer Studio
 
*Slicer Warehouse and More
 
*Slicer Terminus
 
*Slicer Repertory
 
*Slicer Zone
 
  
 +
The initial presentation when visiting the page will present fully compliant (Cat 1) extensions. Search will allow to search all extensions. The toplevel interface will have a link for developers to the pages describing the requirements.
  
*Slicer Economy
+
=Requirements for Category 1 Slicer Extensions=
*Slicer Solution Catalog
 
*Slicer Extension Catalog
 
*Slicer Catalog
 
  
*Slicer Hanger
+
Category 1 extensions must meet the following conditions:
*Slicer Buffet
+
*comply with the [http://www.slicer.org/pages/LicenseText Slicer License]
*Slicer Spread
+
*compile and install on all platforms supported by slicer
*Slicer Sharpener
+
*have test coverage of better than 60%
*Slicer Hippodrome
+
*have documentation at a level of quality comparable to slicer core modules
*Slicer Fete
+
*have a designated person to answer emails in relation to the extension which are posted on the two slicer mailing lists.
*Slicer Fair
+
*are updated to support new versions of the OS, new versions of packages (such as VTK, ITK), etc.
*Slicer Circus
 
*Slicer Arena
 
  
 +
=Requirements for Category 2 Slicer Extensions=
 +
Category 2 extensions must meet the following conditions:
 +
*be avalable under a compatible open source license
 +
*have a designated maintainer to respond to questions about the extension
 +
*have a clear declaration about the license under which the code is distributed
  
*Tool Set
+
=Category 3 Slicer Extensions=
*Toolbox
+
Category 3 Slicer Extensions cover everything else, including developers who do not want to share their source code or extensions.
*ToolPlace
+
*I do not want to share my source code: When source code is not shared, it is not possible to inspect the code for malicious content. This is a potential security risk that we will not accept for the Slicer website.
*Tool Cabinet
+
*Developers are free to set up their own Midas servers for hosting extensions if they want to host category 3 extensions, or can just make .tar.gz files and set the module path in Slicer manually.
*Tool Drawer
 
*Extension Tools
 
*Tool Room
 
*Tool Store
 
*Tool Line
 
*Tool Depot
 
*Tool Set
 
*Tool Box
 
*Tool Hub
 
*Tool Cabinet
 
*Tool Drawer
 
*Extension Tools
 
*Tool Room
 
*Tool Store
 
*Tool Selector
 
*Tool Line
 
*Tool Chest
 
*Tool Shed
 
*Bargin Bin
 

Latest revision as of 07:30, 14 June 2013

Home < Documentation < 4.0 < SlicerApplication < ExtensionCatalogPolicies


For the latest Slicer documentation, visit the read-the-docs.


This is work in progress as of March 2012 - people with an interest in policies and practice related to this topic should contact Ron Kikinis.

Introduction

Slicer functionality is extensible through Extensions which can be added to the package. The slicer community maintains a website to support the finding, download and installing Extensions for 3D Slicer 4. Access to this website is integral to Slicer 4 and facilitated by the Extensions Manager functionality built into the distributed program. Please see here for information for software developers on how to add your extension to this website. The following text details the policies for Slicer Extensions.

Slicer Extensions Catalog

The download site is referred to as the Slicer Extensions Catalog. The Catalog classifies extensions into three levels of compliance:

  • Category 1: Fully compliant Slicer Extensions: Slicer license, open source, maintained.
  • Category 2: open source, contact exists.
  • Category 3: all other extensions (work in progress, beta, closed source etc).

The initial presentation when visiting the page will present fully compliant (Cat 1) extensions. Search will allow to search all extensions. The toplevel interface will have a link for developers to the pages describing the requirements.

Requirements for Category 1 Slicer Extensions

Category 1 extensions must meet the following conditions:

  • comply with the Slicer License
  • compile and install on all platforms supported by slicer
  • have test coverage of better than 60%
  • have documentation at a level of quality comparable to slicer core modules
  • have a designated person to answer emails in relation to the extension which are posted on the two slicer mailing lists.
  • are updated to support new versions of the OS, new versions of packages (such as VTK, ITK), etc.

Requirements for Category 2 Slicer Extensions

Category 2 extensions must meet the following conditions:

  • be avalable under a compatible open source license
  • have a designated maintainer to respond to questions about the extension
  • have a clear declaration about the license under which the code is distributed

Category 3 Slicer Extensions

Category 3 Slicer Extensions cover everything else, including developers who do not want to share their source code or extensions.

  • I do not want to share my source code: When source code is not shared, it is not possible to inspect the code for malicious content. This is a potential security risk that we will not accept for the Slicer website.
  • Developers are free to set up their own Midas servers for hosting extensions if they want to host category 3 extensions, or can just make .tar.gz files and set the module path in Slicer manually.