The Relationship Between Development Problems and Use of Software Engineering...
Software Practice 12 breakout - Life for Software Beyond Public Funding
1. Bruce
Berriman
Jim
Willenbring
Michael
McLennan
Jennifer
Schopf
Nigel
Ward
LIFE
FOR
SOFTWARE
BEYOND
PUBLIC
FUNDING
2. Funding
agency
pays
model
• Most
research
so=ware;
Condor,
GLOBUS,
myProxy
…
• Pros
– Big
money
– Clear
project
scope
&
direcJon
– O=en
funded
over
several
cycles
• Cons
– Keep
jusJfying
existence
– Grant
goes
away,
you
lose
the
model
– Maintenance,
documentaJon
o=en
hidden
3. Resell
services
model
• HUBzero,
RedCloud
(Cornell),
Nova
(OpenStack)
• Generally
purchased
by
an
organizaJon
• Pros
– Clarity
about
specific
service
for
specific
$
– Diverse
funding
stream
• Cons
– Has
to
be
a
good
service!
– Scalability
trade-‐offs
– FluctuaJons
in
funding
4. User
pays
(app
model)
• MatLab,
IDL
• Pros
– Per
per
use,
you
know
what
you
get
– Cost
split
over
maximum
number
of
users
• Cons
– Finding
the
right
pricing
model
– Researchers
are
thri=y
– Less
likely
they
will
just
try
it
– Small
community
=
high
cost
5. Community
development
model
• OpenMPI,
Apache
Webserver,
Hadoop,
GCC
• Pro
– Harness
community
experJse
– Project
sustainable
beyond
single
funding
source
or
insJtuJon
• Cons
– Careful
management
of
contribuJons
– IP
challenges
– Work
on
relaJonship
with
the
dev
community
– Tension
when
$
Jght
:
lack
of
willingness
to
contribute
– Not
developed
here
syndrome
6. Corporate
spin-‐off
model
• Eucalyptus
(success),
Globus
(fail)
• Pros
– Path
to
user
pays
• Cons
– Difficulty
establishing
a
business
model
7. Community
development
model
• user
community
• developer
community
• policing
contribuJon
• recognizing
contribuJon
8. Brainstorm
Topics
• Best
pracJces
for
making
maintainable
so=ware?
• Paying
for
so=ware
development,
maintenance
– Lobbying
funding
agencies
for
financial
support
for
maintaining
so=ware
– funding
currently
gets
hidden
in
grants
– Amazon
cloud
in
your
grant
proposal
– Argument
for
maintaining
so=ware
outside
the
organizaJon
/
funding
agency
• Treat
so=ware
like
infrastructure
a
ship
• Pay
for
use
• Kickstarter
• Path
to
commercializaJon
– What
is
the
right
amount
of
money
for
maintenance?
• Maintenance
is
?
New
features,
bugs
…
9. Brainstorm
Topics
• Building
communiJes
– both
user
and
developer
– policing
and
recognizing
contribuJon
• Are
the
right
people
doing
the
maintenance?
– Grad
student
porJng
the
code
(not
right
skill
set)
– DuplicaJon
of
effort
• Overcoming
not
invented
here
syndrome
10. Brainstorm
topics
• Needs
to
be
built
in
from
the
ground
up
• Building
a
community
– Users
– Developers
• Finding
the
right
people
• Oversight
/
quality
models
&
processes
• Doesn’t
seem
to
be
a
non-‐funded
sustainable
model
11. Brainstorm
topics
• Astounding
that
funding
agencies
won’t
fund
maintenance
• Consider
sustainability
model
while
funded
• User
communiJes
– Part
of
funding
jusJficaJon
– Understand
the
community
and
engage
them
– Source
of
feedback
on
what’s
useful
– Input
into
licensing
models