Jens,
GNUstep is officially developed using GNA's SVN repository.  A link to the
browseable repository is http://svn.gna.org/viewcvs/gnustep.  CoreBase is
under libs/corebae/trunk.  To checkout the latest version you would use:
$ svn co svn://svn.gna.org/svn/gnustep/libs/corebase/trunk corebase

The information from the website is correct, 0.1 is the latest release, but
the code has moved on since then.  I have personally made hundreds of
commits since then.

The reason for not using Apple's CF-Lite is historic and technical.  First,
CoreBase was originally implemented completely on top of Base, making it
essentially a C wrapper around Objective-C code.  The original goal of the
project was to provide the easiest path possible to port WebKit to
GNUstep.  This is still a major goal for the project, but due to some of
the inherit characteristics of CF objects I've decided to implement
everything in pure C to reduce overhead and allow more flexibility.

Second, CF-Lite only supports a very narrow superset of C.  For example,
Blocks are required and GCC does not provide it.  Additionally, CoreBase
needs to be portable to more platforms than CF-Lite.  I've tried compiling
CF-Lite on a few different platforms (Windows and Linux to be specific) in
the past and it was disastrous.

Third, Apple license is not compatible with the GPL, and GNUstep being a
GNU project, this become a bit of a problem (
https://www.gnu.org/licenses/license-list.html#apsl2).  Base and CoreBase
share quite a bit of code, as I was the one who wrote some of the ICU
dependent portions of Base and later ported it to CoreBase.

Lastly, Apple has full control of CF-Lite, making it a huge risk to the
GNUstep project and projects dependent on it.

Individually, all these "problems" aren't really problems, but together,
they make CF-Lite unfeasible, from my point of view, at least.

On Wed, Jan 28, 2015 at 5:00 PM, Jens Alfke <[email protected]> wrote:

>
> On Jan 28, 2015, at 9:19 AM, Stefan Bidigaray <[email protected]>
> wrote:
>
> Hi Jens,
> I'm the (somewhat part-time) maintainer of CoreBase, so I can best speak
> to it.  Your best bet would be to use the current SVN code, as version 0.1
> is sorely outdated.
>
>
> Ah, thanks. I did not know there were more recent changes. The CoreBase
> page on gnustep.org only points to the download of 0.1, and the only repo
> for CoreBase that shows up in Google searches is one on Github whose last
> commit is circa 2012.
>
> …OK, just figured out that there is one monolithic SVN repo for all of
> GNUstep, and am checking it out now.
>
> BTW, why is this a re-implementation of CF, when Apple's CF is open
> source? Couldn't you just use that?
>
> —Jens
>
>
_______________________________________________
Discuss-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep

Reply via email to