Best distribution for developers? (was Re: Board efforts: scope, concept, and permission?)

David Malcolm dmalcolm at redhat.com
Thu Feb 4 14:41:54 UTC 2010


On Wed, 2010-02-03 at 20:51 -0600, Mike McGrath wrote:
> On Wed, 3 Feb 2010, inode0 wrote:
> 
> > On Wed, Feb 3, 2010 at 8:28 PM, Mike McGrath <mmcgrath at redhat.com> wrote:
> > > On Wed, 3 Feb 2010, Mike McGrath wrote:
> > >>
> > >> I really don't know what our users are a measure of.  I don't think it's
> > >> marketing as inode0 suggests, because the people using Fedora already know
> > >> about it.  But if we step back and take our users seriously.  We'll find
> > >> that since Fedora Core 6 released in 2006-10-24 to today, we've
> > >> experienced a net growth of negative 3%.  Yup, a 3% loss of users.
> > >>
> > >> Our own users are moving _AWAY_ from Fedora.  For whatever reason more
> > >> users have chosen to not use Fedora then who have chosen to use Fedora.
> > >> I suspect many have moved downsteam to Enterprise Linux.  Which is ok
> > >> but it's an indication that people came, tried Fedora, and moved on.
> > >>
> > >
> > > Along with the above...  If we're going to be the best at something don't
> > > we need to pick something to be the best at?
> > >
> > > http://www.linux.com/learn/docs/ldp/282996-choosing-the-best-linux-distributions-for-you
> > >
> > > I particularly like this:
> > >
> > > "Ubuntu edges out its closest contenders, Fedora and openSUSE, because its
> > > development team is constantly focused on the end-user experience."
> > >
> > > What is it we're focused on?  Do I need to just ask everyone individually
> > > and hope we all say the same thing?
> >
> > Sadly they don't have categories like the best linux distribution for
> > developers there.
> >
> 
> Is that what we're doing?  If so would we win it?

(Apologies for diving into this thread, this got me thinking)

"best linux distribution for developer" seems too vague to me to be
achievable.  I think there are different categories of developer.

Here's an attempt at a concrete and realistic (though fictitious)
persona:
  - Gillian is one of 6 employees at "stelthix.com", a startup based in
Cambridge MA.  She is a graduate of MIT.
  - The startup is in in "stealth" mode, building a web-based service
that will be the next Google, or at least, they hope, acquired by Google
(they're not yet saying what the service does).
  - They hope to launch the site in 3 months time; they are working
every waking hour building the site and the backend, talking to
investors, signing up service providers etc
  - All of the employees do at least some "development", even if it's
just editing HTML templates, and tweaking of Python scripts.
  - Their web site is implemented in Django, and they're heavily using
Python throughout the backend, though they have some optimized C code
which one of the other developers wrote for a compute-intensive task.
  - They have an internal Trac instance which they're using as a private
wiki, an issue tracker, and for SVN.  The SVN instance stores all of
their code (for both the web site, the scraping/data mining tool that
feeds the data, their custom scripts that leverage Google's APIs etc).
  - They're happy to use FLOSS, but their code is going to be
proprietary (alas).  They have written an API which customers of the
site can use for some purposes, but those customers will never see the
implementation.
  - They are renting time on Amazon EC2 for the compute-heavy parts of
the backend, and the beta instance of the site is hosted on Linux.
  - They have a buildbot that is running the full test suite after every
check-in; this is running on a Linux box somewhere.
  - Most of the team use Mac laptops running OS X (alas), but the
deployment environment is Linux, and some of the team have Linux boxes
which they use for development as well.
  - They try to stick to the standard Python libraries plus Django
because it's fiddly tracking additional dependencies in their (mixture
of Mac + Linux) world.

I think this is a realistic story [1], and is more concrete than "best
linux distribution for developers".  It leads to these questions: why
will Gillian choose to use Fedora on her laptop?  Why will Gillian
choose to use Fedora on the backend servers?  Why will Gillian recommend
Fedora to the new hire after the company gets more VC funding?

I'm somewhat biased towards Python here; you could rewrite this somewhat
and change Python and Django to Ruby and Rails, and it's probably
important to do both cases well; we want a great Rails story as well as
a great Python story - "Ray was in the same class as Gillian, and now
works at wearemorepragmaticthanyou.com", perhaps.

Another developer persona might be:
  - Fred is a sysadmin and postdoc at example.ac.uk
  - he manages a variety of servers and workstations on the campus as a
job, whilst working towards finishing his thesis
  - in his spare time he is working directly on a re-implementation of
an encumbered piece of software
  - He cares deeply about software freedom, and needs a decent build of
the tools he needs (gcc, GNU make, gdb, perl).
  - He worries about software patents, and has tried to avoid MP3 for
some years, but doesn't always succeed.

I hope this is useful and realistic, and not too much of a caricature.

I believe we currently do a good job of appealing to Fred (though we
could always do better), but less so at appealing to Gillian or Ray.

This hits the "web 2.0 startup" cases and the "enthusiastic FLOSS
volunteer" case; there'd probably need to be a persona for a Java
developer within a large company too, and probably stuff I've not
thought of.

Hope this is helpful
Dave

[1] though the last time I worked at a company of that size was some
years ago; caveat lector



More information about the devel mailing list