On Sun, Feb 20, 2005 at 07:02:14PM +0000, Alan Horkan wrote:
Which platform do the Inkscape developers really want to promote?
This may be rhetorical, but if not the answer should hopefully be pretty
obvious that we give priority to Linux. But that doesn't mean we want
to exclude other platforms.
The view I tend to take (and I think others agree), is that we're not
fighting so much for a _platform_ oriented mindshare as much as a
_philosophical_ mindshare. I.e., the fight is not Linux-vs-Windows so
much as Open Source -vs- Closed.
For those who do want to think in terms of platforms, the presence of
Inkscape on Windows is not meant to imply we're embracing Microsoft. A
better analogy might be a Viking invasion type thing... Note that we're
not adopting native widgets, not using the native compiler, etc. but are
bringing the open source versions (gtk, gcc) along with us.
The grand strategy is that Inkscape's presence (along with Firefox,
OpenOffice, Gimp, etc.) on other operating systems will flatten the
playing field. Once Windows users are comfortably using all-OSS on top
of Windows, they become very easy to shift to another platform.
When I first switched to Linux, it was pretty extreme. I had to leave
behind all the tools, processes, etc. I had grown accustomed to on
Windows and devote several unproductive months to training myself in
what was available on Linux. Having these apps on Windows helps reduce
the cost of change, so when the user does finally pull up Linux, they'll
be able to return to their normal productivity reasonably quickly.
So the question is who are the target users of Inkscape and what are
the Inkscape priorities? (I'll leave that as a rhetorical question.)
I can't resist answering rhetorical questions like that, with a big long
dissertation. ;-)
In any product, it is worthwhile to know where you get your value, so
you can make appropriate decisions and direct resources accordingly.
For commercial software, value comes in the form of money paid by
corporations and individuals who purchase the software (presumably to
use it). Thus you focus your energies towards efforts that will result
in good magazine reviews, prime shelf-space location, etc. If you also
put out an actually good and useful product, then you'll also benefit
from word of mouth. The name of the game is to get as many people to
buy each release of the software. You probably don't care if the user
buys the software but never uses it - still counts as a sale. The value
allows you to build up the organization, fund support, administration
and marketing, and maybe also develop new versions of the software with
what cash remains.
Essentially:
1. User spends their time on a job
2. Job pays user some money in exchange for the time spent
3. User pays money for new copy of software
4. Some large portion of money goes to profit, overhead,
administration, paying off debt, etc.
5. Some small portion is allocated to improve product
6. Development occurs (out of user's visibility)
7. A new version is packaged and released
8. User learns that a new copy is available, possibly with some
features they want
9. Repeat
For open source software, on the other hand, value doesn't come from
money paid by users (except maybe for donations, but that tends to be
for secondary purposes). Instead it comes in the form of voluntary
contributions from people, in the form of patches, articles, bug reports
/ fixes, translations, packaging, etc. This value results in direct
improvements to the software and the organization around it.
Thus, our target users are those that provide value in some fashion back
to the project. By focusing on their needs, we can increase the amount
of contributions to the project, which accelerates the development,
pulls in more users, and improves the software and the community
organization that surrounds it.
Essentially:
1. User gets copy of the software, and spends their time improving it
2. Improvements are incorporated into product
3. A new version is released including the changes they wanted
4. Repeat
Inkscape's priorities should focus first on helping existing users that
are contributing actively to the project, and to gaining new users that
will become contributors in the future. Thus, it is important not only
to provide new features and fix bugs but also to make it easier for
others to add changes to the software, and to develop good relations
such that the community organization improves and grows.
One of the best ways to ensure that actively contributing users are
getting their needs met is to encourage those users to work specifically
on fulfilling their needs themselves, where they have the skills to do
so. By 'scratching their own itch' they can directly ensure things are
done according to how they need them. Our strength, though, is in our
ability to coordinate and work as a team; each can then do things that
leverage their strong skills to do things that maximize the project's
gains.
Windows as a platform is important because there are people who will
work on improving Inkscape if they can use it there. Similarly for
OSX. However, I think we'll get the most bang for the buck from Linux,
since Linux users tend to be more active with development communities in
general, and because there are so many programmers using Linux.
Bryce