[net.unix-wizards] Question, How portable are "off the shelf" unix applications?

smiller@eosp1.UUCP (Scott Miller) (10/31/84)

 Hello:

 Thanks for checking out my question! 

 There is a lot of press these days on UNIX and all the "PORTABLE" applications
 and different programs that are being written for any UNIX based system. I'm
 a manager and I've got very little UNIX experience so I thought I'd consult
 the experts on this matter.

 Depending on the application, I'm primarily interested in business appl's,
 I expect a port could be as easy as a re-compilation of the program or 
 require months of recoding. I have the following questions:
 
 1. On the average, with 1 programmer of 2 years UNIX and C experience how
    long will it take to port an 'off the shelf' UNIX business package? If
    you have a justification for your statement I'd be interested.

 2. What factors must I consider if I want to buy an 'off the self' application
    and be sure I'll minimize (whatever minimization is) my porting efforts?

 3. What do you think of the statement "I can port any UNIX application in
    2 weeks"?

 4. What do you think of the statement "Porting any UNIX application will   
    take at least a man year of effort"?

  Any opinions, insights or references to published articles I'd sincerely
  appreciate. You can respond directly to me via the path:   

	   vax135!allegra!eosc1!smiller

 Thanks

 Scott Miller 
  
			

gwyn@brl-tgr.ARPA (Doug Gwyn <gwyn>) (11/05/84)

>  1. On the average, with 1 programmer of 2 years UNIX and C experience how
>     long will it take to port an 'off the shelf' UNIX business package? If
>     you have a justification for your statement I'd be interested.

There is an excellent article in the November 1984 UNIX/WORLD (Vol 1 No 6,
pp. 44-49) describing one business software house's experience in this.
They changed from using IBM business systems to UNIX-based ones and improved
their situation tremendously.

My estimate is that porting a major package like a spreadsheet from one UNIX
to ANY other UNIX implementation should take such a programmer no more than
a few weeks.  Sometimes it takes only hours, if the software is well-written
and if the UNIXes are similar versions (e.g. both UNIX System V).

>  2. What factors must I consider if I want to buy an 'off the self' application
>     and be sure I'll minimize (whatever minimization is) my porting efforts?

This is hard to answer in a few words.  Basically, stick to portable C and
separate system-dependent functions out into carefully-chosen modules.  Use
libcurses for video screen manipulation.  Avoid things that may not be
supported on other target systems (e.g., shared memory, sockets, database
managers, etc.); if you need these facilities, provide your own or be
prepared to limit your porting to systems that provide them.  As UNIX System V
spreads more widely, it would make sense to expect its facilities to be there.

If you're buying an "off the shelf" application, why would you be doing the
porting work?

>  3. What do you think of the statement "I can port any UNIX application in
>     2 weeks"?

Change that to "most applications" and I could believe it.

>  4. What do you think of the statement "Porting any UNIX application will   
>     take at least a man year of effort"?

Porting any application that makes significant use of UNIX facilities
to an obsolete OS could easily take a man-year.  Porting from one UNIX
to another is pretty easy; an application could probably be totally rewritten
in less than a man-year!