On Nov 10, 9:51 pm, Rick Smith <
h2oneu...@gmail.com> wrote:
> - transparency, etc. My object is definitely to use distribution of
> data (experimenting with an open system using experts first) but
> eventually to move that into a completely public forum where data set
> attribution is protected, but data set use is ubiquitous. Creative
> Commons and Science Commons are the first steps in this direction
It is probably better to discuss a specific example. Do you have
one? The bio data I see most often is genomic and is too big to
really share without custom database infrastructure to retrieve only
subsets of the data from queries. This seems to create the many-non-
integrated-database problem too.
To protect attribution, the original open source licenses had in the
license the required attribution (old BSD), i.e. "All uses of this
software must state it contains portions of software copyright Author
Name". This caused so much of a problem (so many people to attribute
that a software release had pages of attributed authors) that the
practice was dropped from majority use, as being impractical.
> I definitely agree that the way to get that 90% involved is going to
> require a lot of effort. Where are the difficulties? Is it a matter of
> user interface on the scientific data side?
Some of it is user interface (not as much as you think, though), some
of it is documenting procedure, some of it is training. Best to
discuss by specific example.
Example - graphic artists who need to share and rapidly publish data
for a large web site; the data is the graphics files in different
sizes, formats, and such. The graphics fit within the html and css,
which is written by others (web designers). Both of these are used by
the web programmers for integrating with back end code (php, sql,
etc). Of these, the graphic artists are the non-technical "creative"
types and are typically tough to get on a program of revision control,
etc. Some groups have successfully used TortoiseSVN (assumes the
workers are using Microsoft operating systems) with a very-well-
documented data publishing how-to-procedural manual. The end result
is the graphic artists focus on the graphics, do some right clicking
and left clicking, and the data is published for others.
Getting workers to write wiki (or other pre-publication) docs is more
challenging. Some people do not write. Although I have seen more get
into publishing to wiki's after hours of training followed by mandates
of it's use. Sometimes getting techies to update their changes into
source control is tough too -- not what is normally expected --
because the techies want to "finish one last thing" before committing
the code, and there's always "one last thing" so the sharing is
delayed. Regular reminders/hassling by project managers ensures the
data is forced into the cloud, sometimes with loud protests. Also
one very important point, is that the mandates must come from the very
top -- any disagreement between managers regarding the importance of
following the process gives workers excuses not to spend the
"extra"/"wasted" effort (I've seen this a lot).
> In the open source programming world, programmers/engineers are able
> to learn a language in a month or two (or less, with effort), but it
> seems like there's a lot more training necessary for open sourcing
> biology.
That analogy has some drastic oversimplification.. It would only take
me a weekend to get running with a cyanobacteria bioreactor (still on
my todo list), and that's a lot faster than learning a computer
language which might take a month. Sure, the latest in bio (syn bio)
takes a lot of learning, though so does the latest in computer
software development (android apps, anyone? .. and that's using
existing languages).
Probably the point here is that programming/engineering is mostly
repeatable and repeating an experiment costs virtually nothing
(recompile -> run -> debug -> recompile..), whereas bio is not so much
repeatable and an experiment might have much higher cost (experimental
time, consumables, environmental conditions, ...).
Also it's fair to say that bio people go into bio, in some part, to
get away from technology. Sure, there will be more of a learning
curve for technology in bio circles. (I would say, keep as much of
the technology abstracted & easy to use as possible, and let the bio
people focus on the bio.)
> Any ideas on how to streamline that process? That would
> really speed things up.
More documentation. In the publishing process, include the mechanisms
for automatic documentation. For example in a text database, define
fields in advance that are descriptive fields, and have the
publication process pull out these descriptions for users to view as a
cross-reference "manual", immediately upon publication. In computer
science, this is akin to Javadoc or Perl POD -- writing the manual
alongside the code, both in parallel. It's tougher to go back to
document later, the documentation always get cut from the schedule.
Documentation nowadays includes audio and video. (Everyone see
http://labtube.tv ? )
Include third-party testing in the process. In the publishing
process, include mechanisms for marking verification by others (or by
machine). This ensures the data is correct (from both typos and bad
work). In computer science, this is akin to an autobuild process,
which compiles the software every night and emails publishers if there
are bugs; if the failures continue for several weeks without fixing,
then the CTO of the organization gets cc:'ed on that email so he can
send a nasty-gram to the project managers for not keeping things tight
(sounds extreme, though it's true). The faster the feedback loop
becomes (ex. noticing an error, reporting it to the author, getting it
corrected) the more productive the system becomes.
Easy methods of submitting error reports and a solid tracking system.
In the publishing process, include work tags (i.e. bug numbers /
project tracking identifiers) in the commit messages. This cross-
references into the documentation and the task tracking database, with
back linking. This streamlines the process of: creating work todo's,
filling the todo's with finished work, documenting the work has been
done on a specific publishing step, and cross-referencing the tracking
database as "work completed".
The process is adopted from a couple angles; hopefully, people see
that it saves time, so they use the system (not so common). More
likely, the managers apply pressure periodically to continually follow
the process (all kinds of motivators are used). The above are all
standard work processes in software teams. Some teams do it better
than others. I could imagine that much of this could be integrated
into
openwetware.org with sufficient motivation. Different types of
projects need different perspectives though, i.e. not every project
tracker can be the same, so I wouldn't expect a system for open bio to
be a universal solution either. It would depend on the type of
project and often on the work style (style being analogous to "Agile"
or "XP" or "Task based" or ... in the software world -- not everyone
works the same, not every project can be "Agile", etc).