Posted by
ctrueden on
Apr 10, 2017; 5:30pm
URL: http://imagej.273.s1.nabble.com/ImageJ-Plugins-shop-tp5018455p5018491.html
Hi everyone,
There are many different schools of thought on software development and
deployment, even within open-source software. It is important to keep an
open mind to other perspectives, and assume best intentions. So first and
foremost, I implore everyone to maintain a respectful tone in ImageJ
community discussions.
=== Reusable tools are something to strive for ===
> When we develop software tools for ourselves - these tools start out
> in a form that is useable mostly by yourself. It is usually when we
> are developing it for our friend/colleague that we care for
> re-useability. But once we do develop for someone else - the tool
> quality improves, documentation gets added, the tool gets feature
> updates and bug-fixes, etc.
This narrative certainly rings true in my experience. The fact of the
matter is that developing a reusable tool of broad scope is substantially
(sometimes vastly) more work than developing a one-off tool of limited
scope. How to fund/accomplish that extra work is often a thorny problem. I
applaud efforts to do so, because the alternative—a lack of reusable
tools—is not a good situation.
> We want to build a web-based community of developers and users that
> benefits from such exchanges.
100% agreed. That is why we have ImageJ update sites. It is a big reason
for the existence of ImageJ2. It is why we have the ImageJ wiki (
https://imagej.net/), and why I wrote the page
https://imagej.net/Distribution.
=== ImageJ is permissively licensed ===
> We want to enable tools to be - discoverable, re-useable and supported
> by the author, for a price. Existing media (methods section of a
> paper, supplementary pages, and methods journals) are unsuitable for
> this purpose.
ImageJ is funded by taxpayer money, and permissively licensed (
https://imagej.net/Licensing). It is available to the community for any and
all purposes, including commercial ones. From a general,
non-science-specific perspective, an "app store" for ImageJ extensions
could be extremely convenient, and could expand the ImageJ community.
=== The problem with non-free extensions ===
That said, ImageJ's primary use case is scientific image analysis, and it
is vital that such analyses be 100% reproducible. Non-free extensions are a
barrier to that reproducibility. For a detailed rationale, see
http://imagej.net/Open_Source and
http://imagej.net/Reproducibility.
=== Objections ===
I have two primary objections to imagejplugins.com as presented:
1) In practice, it would encourage non-free plugins intended for scientific
analysis, resulting in less reproducible science in our community. Even
with fully reproducible FOSS, science is still difficult to do well (
http://imagej.github.io/presentations/2017-02-16-imagej2-neubias/#/18/2).
2) One of the primary goals of ImageJ2 is to unify online resources. We
still need to integrate several major resources onto the primary ImageJ
site (
https://imagej.net/), including the ImageJ user guide (
https://imagej.net/docs/guide/), ImageJ 1.x plugin documentation (
https://imagej.net/index.html), and ImageJDocu Wiki (
http://imagejdocu.tudor.lu/). A new site imagejplugins.com would be a step
backward from that. If you want to move forward with an "app store" for
ImageJ extensions in this vein, I strongly encourage you to gather
requirements publicly from the community, and work toward some kind of
central community standard—i.e., something official, supported by the core
tooling of ImageJ. Yes, it is more work, but it is better for the same
reasons developing reusable plugins is better.
I also have a third pragmatic objection: implementing the security elements
necessary to support a payment infrastructure is a lot of effort. The core
ImageJ or Fiji development teams have neither time nor energy to facilitate
making it possible, for reasons stated above.
=== Ways to fund development of ImageJ extensions ===
Circling back to the broader question: how do we fund development and
maintenance of reusable ImageJ extensions? There are many possibilities,
such as:
1) Consulting—pay for the development, not the code. Several commercial
entities (companies, consultants, freelancers, etc.) make a living coding
solutions for clients, including ImageJ extensions [1]. In the typical
case, the client pays for consulting and/or code development services, and
the results are then released as open source whenever possible. In my view,
this is a nice crossroads of commercial and OSS development.
2) Public funds, such as scientific grants. This is how much of core ImageJ
and many Fiji plugins are funded. See
http://imagej.net/Funding. I think
public agencies are (in general) becoming more aware that reusability,
including continued maintenance, is a necessary piece of the puzzle.
3) Training courses with registration fees.
4) Patreon (
https://www.patreon.com/) and similar donation mechanisms.
The main thing to keep in mind is: how to fund the effort, while keeping
the science reproducible?
In the vein of "pay for the development, not the code," one idea I have
discussed with other developers is a web-based bounty system for issues.
Users may pledge money towards issues (i.e. bugs and feature requests) they
want to see solved. Developers may work on these issues. When work is
complete, the users confirm that their requirements are met, and the
payment happens. Of course, there are many nuances, edge cases and pitfalls
which must be carefully considered for such a scheme to work in practice.
But these are the sorts of places where there is room for ethical
innovation that keeps the science open while creating new revenue streams.
Regards,
Curtis
[1] E.g.: True North Intelligent Algorithms (
http://truenorth-ia.com/) and
OptiNav (
https://www.optinav.com/imagej-plugins).
--
Curtis Rueden
LOCI software architect -
https://loci.wisc.edu/softwareImageJ2 lead, Fiji maintainer -
https://imagej.net/User:RuedenDid you know ImageJ has a forum?
http://forum.imagej.net/On Mon, Apr 10, 2017 at 3:33 AM, Thomas Boudier <
[hidden email]>
wrote:
> Dear Pushkar,
>
> I think there is a big misunderstanding on what you want to do. I f you
> want to set up a repository of existing plugins, ok, why not, but what for
> ?. There are aleady many official repositories for plugins, I do not think
> we need one more. And if you want to create a repository, please ask the
> plugins developers if they want their plugins to be hosted on your
> repository.
>
> If you want to have commercial activity with ImageJ/Fiji, there is space
> for this, and the best (and only ?) way to do is to set-up a company and
> provide programming service to develop custom-made plugins to
> third-parties.
>
> I think the idea of a shop mixing free (and open-source) plugins with paid
> ones is not a good idea as it is not the ImageJ/Fiji philosophy, so please
> clarify your intentions.
>
> Best regards,
>
> Thomas
>
>
>
> On 10/04/2017 15:33, pushkarparanjpe wrote:
>
>> Thank you for pointing this out.
>>
>> Andrei Stefan wrote
>>
>>> First, I am a bit confused about who "we" is in Pushkar's emails.
>>> On Pushkar's web site the google maps location of the "business" is
>>> located close to the Golden Gate Bridge in San Francisco, in a
>>> residential
>>> area.
>>>
>> Currently, I am operating out of Liverpool, UK. I have updated the default
>> map location of the website template just now.
>>
>>
>> Andrei Stefan wrote
>>
>>> Pushkar, even though your emails seem very well phrased (business
>>> language)
>>> in terms of your intentions with this ImageJ plugin "shop", personally I
>>> am
>>> not convinced that you shared the true story behind your intentions.
>>>
>> I would love to get on a call with you and talk about the motivations for
>> starting this website. I am writing to you separately to share my mobile
>> phone number.
>>
>> Cheers!
>> Pushkar
>>
>>
>>
>> --
>> View this message in context:
http://imagej.1557.x6.nabble.c>> om/ImageJ-Plugins-shop-tp5018455p5018485.html
>> Sent from the ImageJ mailing list archive at Nabble.com.
>>
>> --
>> ImageJ mailing list:
http://imagej.nih.gov/ij/list.html>>
>>
>>
> --
> /***************************************************************/
> Thomas Boudier, Associate Professor, UPMC,
> Université Pierre et Marie Curie, Paris, France.
> BioInformatics Institute (BII)/IPAL, Singapore.
> /**************************************************************/
>
>
> --
> ImageJ mailing list:
http://imagej.nih.gov/ij/list.html>
--
ImageJ mailing list:
http://imagej.nih.gov/ij/list.html