[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