[WarpCast] PROJECT: libextensions - 3/12/00




             PMView 2000: The ultimate in image viewing
                   PMView 2.0 is now PMView 2000!
               See http://www.pmview.com/ for details
*********************************************************************
 
Source: Kovacs Istvan (kofa@alarmix.net)
Moderator: Trevor Smith (trevor@haligonian.com)
-------------------------------------------------------
 
The following article was posted to comp.os.os2.announce:

----------------------------
  In the following you will read about a project which aims to help
  people in porting and writing portable software on OS/2.


  Current Situation:

  While most commercial software development for OS/2 has stopped
  (except important server-only and large-scale solutions)
  the "open source" movement currently gains momentum. For most
  remaining individual OS/2 users and developers it is essential to
  profit from this momentum in the best possible way. 

  For many years EMX has been the work horse here: Not only
  because of its gcc port. Essentially because of its highly
  portable, largely open standards conformant C Library. This one has
  proved reliability and excellence. Let us try to extend it slowly,
  implementing those interfaces _we_ have always been missing without
  reducing stability, slickness and performance. Like EMX itself it
  should well serve as an example of good software engineering. In
  the following we outline an approach which follows a well known
  theorem from physics: the "least action principle": in our opinion
  the rather low resource demands makes this project likely to
  succeed!


  The idea:

  Our idea focusses on three independent steps: 

  1. Collect already existing ported APIs and subsets and make a quite
   usable and well documented extension library of it, that can be
   improved upon and heavily tested, independently from emx. 

  2. Create a Posix-conformant file-system wrapper using a
   _posixRedirRoot()-function very similar to the existing
   __XOS2RedirRoot() interface of XFree86 as well as a BSD-Unix-style
   () mechanism for remapping hardcoded path-names. Other
   ideas (not necessarily from the authors here) include an "emx.dll"
   internal database to simulate symlinks and perhaps one should have
   a look at TVFS here.

  3. Merge all those efforts into a single distribution that is
   upwards-compatible to already existing emx-software and that would
   (eventually) pass all tests for official Posix-conformance.
   We would not limit the scope to POSIX.1 but include a selection of
   system calls from The Single Un*x Specifications (Unix 95/98) as
   well as traditional SYSV and BSD interfaces.


   What to do:

   As a first step we'd like to know from each other if people want
   to contribute here and if so what they have to 'offer'. Let us set
   up a mutual coordination of past individual efforts to merge them
   to a quite usable single library. Many complicated work has alread
   been done, namely to support the forthcoming XFree86 4.0. You
   might already have implemented other complicated and missing
   api's. Contribute them, please! And feel free to criticise and to
   stress test what we already can offer.

   Then we might have to discuss the license issue: A license more
   liberal than (L)GPL would be nice, since we don't want to limit
   usage more than necessary. This does not exclude a
   non-liability-disclaimer and individual copyright notices. If
   possible we might agree on a having an unique license for the
   whole package. At least the small collection we are offering in a
   package called 'libextensions' (working title) is Public Domain,
   except some (L?)GPL stuff. This will be removed eventually.

   Finally we have to address the topic what to do with our work: as
   explained it may not simply be added to the public EMX
   distribution ...


   What we have:

   We have already collected a few implementations for "frequently
   missing APIs" upon porting: including math and random number
   functions, g/sitimer(), dlopen(), etc. To be prepared for possible
   future enhancements we meanwhile also provide stubs for functions
   which have no real counterpart on OS/2 yet. This clearly
   superceeds the approach of #whatunixhas (0) /* and we on OS/2
   don't have at all:-( */


   An important statement:

   Since we marked our code as Public Domain it should be clear that
   'we' do not intend to make advertisement with your hard work
   claiming it would be 'our' effort (only ;-). The goal is only to
   get EMX or any similar project ready for porting more software out
   of the box!


   Organizational stuff:

   We're primarily looking for people which actually will contribute
   code. Especially since this little project shouldn't go 'fully
   public' (i.e. upload to a site like Hobbes) unless a certain level
   of quality and quantity is reached. No, not the full Unix98 API
   list has to be done before ;-)

   Since we've learned from many projects that users (like on
   xfreeos2@) get upset when too much technical stuff is discussed we
   have set up a new mailinglist: posix2@borneo.gmd.de is available
   for discussing this project. Send subscribe requests to 
   majordomo@borneo.gmd.de (they will be forwarded to the list owner
   for approval)


   Thanks and Bye,

  -- 
  Arnd Hanses,
  Alexander Mai,
  Holger Veit
----------------------------
 
-------------------------------------------------------
 To subscribe, unsubscribe, or for more information on
 WarpCast, visit: http://www.warpcast.com/ 
-------------------------------------------------------

WarpCast Archives - Courtesy of VOICE International