  Commercial Port Advocacy mini-HOWTO
  Doug Loss dloss@seul.org
  v0.1, 29 December 1999

  This document discusses methods that can be used to approach commer­
  cial software companies to convince them to port their programs to
  Linux.
  ______________________________________________________________________

  Table of Contents


  1. Copyright Information

  2. Why write this?

  3. Other efforts

  4. How to choose companies to approach

  5. The art of cold contacting

  6. What to say

  7. My standard contact message

  8. The final inspirational message

  9. Resources



  ______________________________________________________________________

  1.  Copyright Information

  This mini-HOWTO is Copyright © 2000 by Douglas R. Loss.  All rights
  reserved.

  A verbatim copy may be reproduced or distributed in any medium
  physical or electronic without permission of the author.  Translations
  are similarly permitted without express permission if they include a
  notice on who translated them.

  Short quotes may be used without prior consent from the author.
  Derivative work and partial distributions of this mini-HOWTO must be
  accompanied by either a verbatim copy of this file or a pointer to a
  verbatim copy.

  Commercial redistribution is allowed and encouraged; the author would
  like to be notified of any such distributions.

  In short, we wish to promote dissemination of this information through
  as many channels as possible.  However, we do wish to retain copyright
  on the HOWTO documents, and would like to be notified of any plans to
  redistribute the HOWTOs.

  We further want all information provided in the HOWTOs to be
  disseminated.  If you have questions, please contact Tim Bynum, the
  Linux HOWTO coordinator, at linux-howto@sunsite.unc.edu.

  2.  Why write this?

  I read over all the other advocacy howtos for Linux that I could find
  (I've listed them in the resource section at the end).  They were
  almost all addressed to convincing end users (either business or
  personal) that Linux could meet their needs on a day-to-day basis.
  That's a very useful thing to do, but it wasn't what I was looking
  for. Only the Linux Advocacy Project came close to what I was looking
  for, and it didn't quite cover what I wanted.  I wanted something that
  would help me approach organizations making software for other
  platforms and convince them to port their works to Linux.  Since I
  couldn't find any howto concerning that I decided to write one.

  In this howto I'll cover how to approach software companies and what
  arguments may be most effective in convincing them to port their
  programs to Linux.  I won't talk about trying to convince them to
  release their Linux ports under open source licenses.  While that
  might be a good idea, I think these things should be done in small
  steps.  Advocating a port to another OS is much more likely to meet
  with interest than advocating what the company may perceive as "giving
  away" product, or advocating a radical change in their basic
  development model.

  3.  Other efforts

  There are other groups and individuals doing their parts in trying to
  get various software and hardware vendors to support Linux.  Norman
  Jacobowitz is a consultant working with SSC, Inc.  on an advocacy
  project that approaches the same problem I'm addressing here, although
  from a different direction.  Here's what he told me about his efforts:


       SSC, Inc, publishers of Linux Journal, maintain a "software
       wish list" at <http://www.linuxresources.com/wish>.  They
       are currently paying an outside consultant to use these
       results and other data to lobby marketing managers at ISVs
       to port their products to Linux.  This is an effective, on
       going project to bring more native software to Linux; so
       please drop by the wish list and vote for your favorite
       software.


  Andrew Mayhew has been trying to convince hardware vendors that making
  Linux drivers, or at least releasing the specifications so the Linux
  community can write the drivers, is a good idea.  Here are his
  thoughts:


       I go to conferences.  I was most recently at Networld-
       Interop in Atlanta (which was shortly followed by the
       Atlanta Linux Expo).  There at Interop I went to many of the
       vendors with two agendas.  First, I was there as a respre­
       sentative of the ISP that I work for and was looking for
       solutions.  But secondly, I was there find out who currently
       had Linux support and if they didn't have Linux support, why
       they didn't and was the company considering it.  It is
       interesting to note, that in the large Novell section, there
       were actually two Linux related sub-booths.  Additionally,
       Cobalt Micro was there with their thin server, along with
       RedHat and Caldera.  Fairly small showings in a nearly com­
       pletely non-Unix related conference, but a showing none the
       less.



       Most of the companies that I was talking to are primarily
       hardware vendors.  They already don't make any money off of
       their drivers.  They just need to develop the drivers so
       that people will use their hardware.  My typical approach to
       one of these companies was to first ask about the product in
       general, so that they could get through their marketing
  routine quickly, and then ask about driver support.  When
  the only words out of their mouths would be Windows 95, 98,
  and NT, I would ask about other platforms explaining that I
  run in a multiplatform environment and would need interoper­
  ability between these platforms.  In introducing the idea
  that they should support other platforms I would only slowly
  work in the idea of Linux as one of them.  I found that
  introducing the idea that I wanted driver support for Linux
  right off typically got me a knee-jerk reaction which would
  basically have the person shutdown and try to find a way to
  get out of the conversation.  But if you can get their
  defenses down then you can explain to them how, in general,
  all they would need to invest to get Linux drivers would be
  to openly publish the specifications for talking to whatever
  hardware and possibly providing hardware to key developers.
  The biggest argument to this, is typically, "We have some
  proprietary ways of doing X and don't want to have that
  information out in the open."  The usual way around this
  problem is to explain that being able to talk and use a
  device does not normally mean having to know what propri­
  etary tricks they are pulling.  At least this fits with the
  wireless LAN and the Fibre Channel IP people that I was
  dealing with.



       One smaller company, which I think may attempt to find some­
       one in the community to help develop a driver for them came
       up with an interesting solution around the proprietary
       issues as well.  This being that they would have the initial
       developers sign NDAs for the hardware documentation, but the
       source code could be open source so long as the documenta­
       tion in the source was not just a copy of what the company
       provided the developer.



       For software companies, I think it is a very good idea to
       point out that there is nothing or very little available of
       their kind of software; whatever that area of software is.
       But it probably should also be noted what does exist.  Of
       particular interest would be the development tools, the
       development support available, and possibly information
       about other porting projects.  In terms of these other pro­
       jects they would be interested in the porting problems that
       they have solved or would similarly be tackling.


  4.  How to choose companies to approach

  First, you need to identify an area where Linux is deficient in
  programs.  I wouldn't try to convince any company to port their web
  server to Linux.  There are plenty of such programs available.  I'd
  much rather use my time trying to convince companies to port games or
  kindergarten through 12th grade educational programs to Linux, as
  there's very little of those types available (none in the educational
  area, so far as I know).

  Second, you need to identify companies that are most likely to be
  interested.  I have no hard evidence of this, but I strongly suspect
  that your efforts will meet more success if you concentrate on second-
  tier companies rather than on market leaders in your chosen category.
  Companies with seemingly dated products or products that were aimed at
  obscure platforms would seem to be good targets.  Their software may
  not be dated for Linux users since we're not always taken in by the
  hype factor.  They may well be looking for new markets for their
  products as their present market dwindles along with their ability to
  compete.  I doubt that Disney or Davidson and Co. would consider
  porting their educational programs nearly as quickly as say, Soleil
  Software or Topologika.  Also, if a company provides its software for
  both Windows and Macintosh currently, it may be more likely to
  consider supporting yet another OS than one that is exclusive to the
  Windows or Mac world.  If all the companies in your target category
  are Windows or Macintosh exclusive I'd try the Mac shops first, as a
  Linux port would give them a much greater market expansion (on a
  percentage basis) than it would a Windows-only company.

  5.  The art of cold contacting

  What you will be doing is known in the fund-raising business as "cold
  contacting."  This means that your "target" company won't have known
  that you'll be contacting it, and won't have been primed to hear your
  message.  A 1% response rate is considered normal.  You should be able
  to do better than that.

  In a sense all target companies will be slightly primed to hear about
  Linux due to the remarkable amount of publicity it's been getting of
  late.  In that respect your contact won't be completely cold.  That's
  good.

  The first thing to do is to identify someone in the company to
  contact.  It's always best (if possible) to identify an actual
  individual rather than a job title.  Depending on the size of the
  company and its organizational structure, your best bet is the head of
  program development.  If that isn't a possibility, try for the head of
  whatever technical section the company may have.  If that isn't
  possible, read over whatever bios might be available in the "about the
  company" section of the company's web site (they almost all have
  something like this) and pick the person who seems most likely to be
  intrigued by Linux and to become an internal advocate for a Linux
  port.  Finally, if none of the above things works try contacting the
  head of the company.  Incidentally, it won't hurt to contact more than
  one person in the company if your bio research shows somebody other
  than the head of program development as the most likely person to be
  interested.

  Your initial contact should probably be via email.  First, email
  usually goes directly to the person addressed rather than being
  filtered through various layers of the organization as postal mail and
  telephone calls are.  Second, with email everyone starts equal.
  Physical presentation and elocution don't enter into the contact, so
  the logic of the message may be more apparent.

  The subject of your message should be understated.  "Make Millions
  Easily!" will just get your message deleted as spam.  Try something
  like "A good new market for your programs," or "An overlooked market
  for your software."

  The first sentence in your message should probably be a conditional
  apology for sending the message to the wrong person if the person
  receiving it is the wrong person.  The next sentence should request
  that the message be forwarded to the right person and that that
  person's email address be sent back to you for future contacts.  This
  has a few effects.  The apology establishes that you're not a know-it-
  all and that you are polite.  The request reinforces the politeness
  and quietly lets it be known that this won't be a one-time contact.
  That's important.  It's a lot easier to blow off a message if you
  don't think you'll ever hear from the writer again.

  That brings up another point.  If things work out right, you won't be
  making just a one-time contact with this company.  You will be signing
  up to be an outside contact for them, a source of information about
  things Linux.  As such, there are some guidelines to follow in all
  your contacts.  Be polite.  Be patient.  Be truthful.  Be helpful.
  Stay apart from internal politics.

  Be polite means responding civilly to all messages, even if you
  consider them insulting or moronic.  Remember, "A soft answer turneth
  away wrath."  Besides, it's just possible that you may have
  misunderstood the message.  Asking for a restatement of the message to
  clear up its meaning can't hurt.

  Be patient means answering what you consider obvious questions calmly
  and clearly, and answering them as many times as necessary.  Email
  isn't real-time; you can take a jog around to block to cool down
  before answering yet another, "But doesn't a Linux port mean we'd be
  expected to give our products away?" message.

  Be truthful means answering each question to the best of your ability,
  and saying "I don't know" when that's the correct answer.  However, "I
  don't know" is only the first part of that answer; "but I'll find out
  and get back to you" is the rest of it.

  Be helpful means going beyond just answering the immediate question
  and trying to address the reasons the question was asked.  For
  example, one company asked me how it could publicize the existence of
  a Linux port if it did one.  I mentioned the standard places
  (comp.os.linux.announce, Linux Weekly News, Freshmeat, Slashdot, Linux
  Journal).  Then I brought the question up in the seul-dev-apps mailing
  list.  The discussion there eventually started the development of the
  lu-news system <http://linuxunited.org/projects/news/>.

  Stay apart from internal politics means keeping a little distance
  between yourself and your company contact.  However friendly your
  exchanges are, your role shouldn't be one of confidante but one of
  outside expert and advocate.  You won't force the company into
  supporting Linux.  You can only make sure they know about the
  opportunity and help them find the best way to take advantage of it.

  You should probably be prepared to answer questions about why no one
  else in the target company's market niche is developing for Linux (if
  that's indeed the case), and what capabilities are available in Linux,
  such as multimedia.  Are the available media players exploitable
  commercially?  Do they run efficiently?  You might also make the point
  that a port to Linux of a graphical program will mean a port to the X
  Window System and will mean that the program is much easier to port to
  any other OS that uses X, such as Solaris, AIX, or HPUX.

  Andrew Mayhew brought up this point to me, and it makes a lot of
  sense:


       It has been my (albeit limited) experience that structuring
       the email/letter sent to companies with the idea that I or
       one of my clients is actually interested in their product at
       the beginning (or as closely as reasonable) of the document
       gets more results.  Now, this is only really applicable is
       you mean it.


  6.  What to say

  Okay, enough about what tone to adopt.  What do you say to convince
  them that the Linux community is worth porting for?  Here's what I
  did.

  First, I explained as well as I could just who the Linux community is,
  and why Linux users would be a receptive group for my target company's
  products.  I very carefully didn't exaggerate, and made sure that I
  explained when my figures were estimates rather than hard numbers.  If
  someone comes up with a way of measuring usage, we may be able to get
  the hard numbers we need for market demographics, but till then we
  have to do our best.

  Next I explained why I thought the Linux market would be good for the
  company to enter.

  Then I laid out the ways in which the company's current program line
  could be ported to Linux.  I must say that I lean toward using Abacus
  Research & Development Inc. (ARDI) <http://www.ardi.com> Executor
  technology as a "wrapper" for Macintosh binaries as the easiest and
  quickest way to do that, but WINE <http://www.winehq.com> and the TWIN
  library <http://www.willows.com> (as I understand it,these two groups
  are now working together) are all possible tools to help move programs
  to Linux without full-blown ports.  Incidentally, I cleared my letter
  with ARDI before I mentioned any action that their engineers might be
  able to take for the company.  You would lose credibility if the
  target company acted on your recommendation, contacted someone like
  ARDI, and was essentially told, "We don't know what you're talking
  about."

  There's also Loki Software <http://www.lokisoftware.com>, which does
  ports of commercial software to Linux.  So far they're done only
  games, but when I talked with the president of Loki a while ago he was
  quite willing to consider doing similar ports of other types of
  software.

  Finally, I ended with a personal note on why I was trying to convince
  the company to port to Linux.  Here's a copy of my standard letter;
  don't copy it word for word, but feel free to adapt its organization
  if you like:

  7.  My standard contact message


       Dear Sir or Madam:



       If I've sent this to the wrong address in your organization,
       I apologize; could you please forward it to the appropriate
       person?  Also, could you let me know who that appropriate
       person is so I can direct future communications to him or
       her?  Thank you.



       I know that [insert company name here] has fine educational
       software programs for both the Macintosh and Windows PCs.
       However, I'd like to speak on behalf of a computer community
       that has heretofore been overlooked by the entire educa­
       tional software industry; the Linux community.  I'd also
       like to call your attention to porting tools that can make
       moving Windows and especially Macintosh software to Linux
       nearly trivial.



       Linux is the fastest growing operating system in the world.
       It is impossible to put exact numbers on how quickly it is
       growing because it can be downloaded for free off of the
       internet. The last attempt to estimate the total user base
       in early 1998 came up with  7 million users world-wide in
       early 1998 with over 100% growth/year. The explosion of
  Linux publicity since then has undoubtedly kept that growth
  rate alive, putting the current market at around 20 million
  with rapid expansion for some time to come.  That's more
  than the worldwide total of OS/2 users and is near (if not
  more than) the number of Macintosh users.  In addition,
  these numbers should probably be in some part subtracted
  from the Windows and Macintosh user figures, as almost all
  of the computers Linux is used on initially had Windows or
  MacOS installed.



       Just who are these Linux users?  They are primarily male,
       technically educated, and in their early twenties.  The
       first two traits are more standard than the last; Linux
       users range from the teens to probably the mid-40s in age.
       (I'm 46, so I had to extend the range at least that far.)
       This is a prime demographic for the educational software
       market.  These are people who generally have or will soon
       move into well-paying jobs in technical fields, and who are
       often just starting families.  Linux users are usually not
       very patient with MacOS or Windows, and so tend not to see
       or to consider software offerings for those operating sys­
       tems.



       To the best of my knowledge, there are currently zero educa­
       tional software programs available for Linux.  While many
       Linux users will write their own programs if they can't find
       anything to fit their needs, that has so far not been the
       case with educational software.  This may be because Linux
       only originated in 1991, and has only experienced explosive
       growth in the last 2-3 years.  The market is completely
       open.



       This has only recently been noticed by the Linux community.
       As more of us have young children, the awareness of the need
       for educational software for Linux is growing.  I'm sure it
       will only be a matter of time till someone begins to address
       this need.



       What is the easiest, most cost-effective way to enter this
       market?  It's certainly not impossible to start from source
       code and rewrite the operating-system-specific routines to
       work with Linux.  That's what many Macintosh ISVs did when
       they wanted to enter the Windows market.  However, there are
       easier ways.



       There are "wrapper" programs available for both Windows and
       Macintosh programs, which enable them to run on Linux with­
       out having to be rewritten extensively.  For Windows, there
       is the TWIN library from Willows Software <http://www.wil­
       lows.com>.  I don't have any direct experience with TWIN,
       but the Willows website gets quite specific on what Windows
       routines move across cleanly and what ones need some touch
       up.  The WINE Project (<http://www.winehq.com>) also has
       Winelib, a similar set of libraries that Corel is planning
       to help develop and use in porting its office applications
       to Linux.
       For Macintosh programs, Abacus Research & Development, Inc.
       (ARDI <http://www.ardi.com/>) has rewritten a substantial
       fraction of the Macintosh OS and toolbox routines, and makes
       this technology available in two different ways.  Executor
       is available both as a Macintosh emulator for end-users and
       as a porting tool for Mac ISVs.  Executor is available for
       Linux, DOS and Windows.  A demo of Executor for Linux is
       included on the Red Hat 5.1 Linux distribution, the most
       popular commercial distribution.  The engineers at ARDI are
       fluent in Macintosh and Linux and can evaluate how hard it
       would be to make a Linux version of your Macintosh software.
       In many cases it can be done without your needing to change
       a single line of code.  A Linux version of your program cre­
       ated in this way can easily fit on the same CD-ROM as your
       Mac and Windows executables, thereby giving you a three-OS
       program on one SKU.  The expenditure required to open up
       this potentially lucrative new market is relatively minor;
       certainly much lower than the cost of the ports many compa­
       nies made in expanding from the Mac-only market into the
       Windows and Mac market.



       Finally, a personal note.  The reason I'm moved to write to
       you proposing that you enter the Linux educational software
       market is my 6-year-old son.  I run Linux because, of all
       the operating system choices available, it best fills my
       needs and desires.  If there were good educational software
       available for Linux, I'd snap it up.  I know I'm not alone;
       I've heard from other parents every time I've mentioned the
       problem in various Linux forums.  There's a market out here
       waiting to buy your product.  Please don't disappoint us.


  8.  The final inspirational message

  If you decide to take a turn at advocating commercial software ports
  to Linux, remember that in so doing you're not acting as merely one
  individual, but as a representative of our entire community.  I know
  we're more honest than Microsoft; I like to think we're less self-
  satisfied than Apple; I hope we're more generous in helping other
  users in need than any of the other user communities.  Show those
  qualities to the companies you contact--honesty, humility, and
  helpfulness--and you stand a good chance of being successful.

  9.  Resources

  Here is the list of other advocacy documents I looked through before I
  decided to write this one.  While they didn't cover the aspect of
  Linux advocacy I was looking for, they are well worth your time to
  read through.  They have a lot of good advice on how to be an
  effective ambassador to the non-Linuxen out there.


  ·  Linux Advocacy Project <http://www.10mb.com/linux/>

  ·  Linux Advocacy mini-HOWTO
     <http://www.datasync.com/~rogerspl/Advocacy-HOWTO.html>

  ·  Why Linux? <http://www.seul.org/docs/whylinux.html>

  ·  Why Linux? <http://www.mwsoftware.com/linux/whylinux.html>

  ·  Why use Linux? <http://www.croftj.net/~goob/local/why.html>


  ·  Politics <http://www.linux-center.org/en/politics/index.html>

  ·  [No Title] <http://www.flash.net/~landley/linux/index.htm>

  ·  Advocating Linux
     <http://www.cs.helsinki.fi/~wirzeniu/texts/advocating-linux.html>

  ·  Linux FUD Factor
     <http://www.geocities.com/SiliconValley/Hills/9267/fud2.html>

  ·  Linux Myth Dispeller
     <http://www.KenAndTed.com/KensBookmark/linux/index.html>

  ·  Linuxmanship
     <http://electriclichen.com/people/dmarti/linuxmanship.html>

  ·  Four Phases of Linux Acceptance
     <http://www.xunil.com/xunil/j4phases.html>

  ·  To use, or not to use? <http://www.linuxos.org/Why-Linux.html>

  ·  Linux Compared to Other OSs
     <http://www.linuxgazette.com/issue25/sorensen.html>



