[vtk-developers] Attracting next generation of developers

Matt McCormick matt.mccormick at kitware.com
Tue Aug 26 22:05:35 EDT 2014


+10 to the great comments by Bill, Berk, and Will.  A few more
thoughts to throw in the bucket:

Another major factor to consider when attracting new developers is the
cultivation of a sense of invested ownership. In connection with the
review thread, it means that it is very important that reviews are
encouraged from the community and that they are acknowledged.  We do a
good job of keeping track of Git patch authorship information -- we
need to remember to keep track and promote review statistics, like in
the visualization here [1] [2].

I disagree with the 'ITK is less usable' comment, not just because I
am an ITK zealot ;-P. I think ITK is inherently as usable as VTK. It
has a good software quality dashboard, like VTK, and the architecture
and API, although orientated towards analysis instead of
visualization, is at least modestly good like VTK. However, a
person-oriented perception and experience of usability is more
important than inherent, objective usability anyway. This subjective
usability is highly influenced by an individual's background knowledge
and the ability to acquire necessary knowledge.

One strategy is to build bridges to familiar knowledge and provide
documentation and training for the knowledge that is required.  ITK
now has a different API called SimpleITK [3], which is a better
introduction for those unfamiliar with templates. Since the path to
scientific programming most often involves coming from Python before
C++, progress is being made to improve ITK wrapping. SimpleITK has
great wrapping for Python and also other languages.  The ITK Software
Guide [4] is being updated, starting with updates and improvements on
how to obtain and build the software.  A new section was added
recently on how to contribute.  The excellent Wiki and Sphinx examples
are also promoted and released with the code. Links are being added in
the doxygen documentation to the book and example content. New code is
required during review to have class and method documentation before
merging [5]. These are examples of concrete steps that can be taken,
but they could be improved, and there are other steps that could be
taken. Another outstanding example that comes to mind is Berk's VTK
NumPy interface blog posts [6], that both educate and bridge knowledge
and technologies.

I came across these customer reviews [1] on Amazon, and they have
weighed on my mind. As a proud VTK and ITK community member, and as
someone that has put sweat into a software book, they sting. But, they
also inform the way to attract new developers and keep the ecosystem
strong: provide basic, comprehensive documentation and create a fun,
welcoming, merit-based community that has a big impact.

Thanks for the long read,
Matt


[1] http://opensource.com/life/14/5/best-code-review-open-source-projects

[2] http://thewtex.github.io/PropertiesOfCodeReviewSocialStructures/figures/itk_graph.html

[3] http://simpleitk.org

[4] http://itk.org/ITK/resources/software.html

[5] http://review.source.kitware.com/#/c/11718/

[6] http://www.kitware.com/blog/home/post/723

[5] http://www.amazon.com/VTK-Users-Guide-Kitware/dp/1930934238/ref=sr_1_1?ie=UTF8&qid=1409085313&sr=8-1&keywords=vtk

On Tue, Aug 26, 2014 at 8:51 PM, Will Schroeder
<will.schroeder at kitware.com> wrote:
> Good stuff. Here are some random thoughts (besides some of the great stuff
> that's been mentioned before):
>
> + Provide potential community members an exciting purpose and/or a
> challenge. (See a list of crazy suggestions below.) I.e., paint a vision and
> get people excited due to social impact or technical challenge.
>
> + Define ways to contribute beyond just technical (i.e., lay out clear
> contribution paths), and recognize the community for these contributions.
>
> + Create "conferences" with invited speakers that get VTK developers and
> even application developers mixing together. Hold these at cool places with
> fun speakers and activities. The conferences could even have fun hackathon
> competitions addressing particular challenges / data.
>
> + Orgs like Kitware could invest some $ into awards, challenges,
> internships, etc. that are VTK-centric.
>
> + Here are crazy ideas for developing purposes/challenges: These need to
> capture the imagination and get people's creative juices flowing. These mini
> projects might be as simple as a single class/algorithm, or a complex as a
> subsystem. Maybe even consider something akin to ITK Applications which are
> satellite projects to leverage VTK infrastructure to do cool stuff. Lay out
> the challenges and recruit volunteers...if they are exciting enough it might
> attract talent and enthusiasm.
>
> -- Team with a data producer/application domain (like digital pathology,
> dermatolgy, environmental studies, microscopy, weather, sensor systems,
> etc.) and put together simple VTK-based tools for visualizing their data.
> These data could be associated with non-profits and/or research and
> represent significant social challenges. (I.e., help build a data-driven
> community with VTK playing a key role).
>
> -- Pick a technical challenge, like visualizing connectomics data, and with
> the help of the community use VTK as the core engine to build a simple
> application. The application might even be written in newer
> languages/environments (e.g., client-side). Other challenges might include
> mobile apps, etc.
>
> There's lots more but this is already long and crazy enough :-)
> W
>
>
> --
>
>
> On Tue, Aug 26, 2014 at 4:35 PM, Berk Geveci <berk.geveci at kitware.com>
> wrote:
>>
>> Moved this discussion to a new thread.
>>
>> Berk,
>>
>> I think we need to reach out to potential developers. Especially those
>> outside of Kitware(and their paying customers) and the long term VTK
>> developers outside Kitware. Those communities can adapt to anything.
>> We need to focus on is how can we can attract new developers. In the
>> past, new processes were adopted and adapted by Kitware, their
>> customers and hard core VTK developers with very little input from the
>> broader community of potential developers.
>>
>> ITK is going through the same issues but addressing the issues not
>> through process change. They are looking at outreach and better
>> documentation of the current process. Matt McCormick at Kitware has
>> been leading this effort.
>>
>> I think there are lots of non-process improvements possible. But I
>> don't have a silver bullet for attracting new developers. Perhaps VTK
>> is too old school for today's developers. Stuck with an old
>> architecture, old graphics architecture, old and complex languages. I
>> honestly don't know what the root causes are. If we only include the
>> old-timers in theses discussion then we will not attract a younger set
>> of devleopers.
>>
>> Bill
>>
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/vtk-developers
>>
>>
>
>
>
> --
> William J. Schroeder, PhD
> Kitware, Inc.
> 28 Corporate Drive
> Clifton Park, NY 12065
> will.schroeder at kitware.com
> http://www.kitware.com
> (518) 881-4902
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/vtk-developers
>
>



More information about the vtk-developers mailing list