Wednesday, October 21, 2015

Still waiting on you, Apple...

Back in July Apple promised to open source Swift. :)   Well, Apple?  What's going on?  Is this still the plan, Apple?

Saturday, June 13, 2015

Swift 2.0 Going Open Source.... great news!

As announced on their blog and on WWDC, Swift 2.0 will be going open source:

https://developer.apple.com/swift/blog/?id=29

GNUstep will fully support bindings to Swift.  We will start on support for this as soon as the source code is released by Apple.  I couldn't be happier about being proven wrong by Apple.  Thank you for restoring my faith in this regard.

Friday, October 03, 2014

The Reasons I Love GNUstep -- Speaking for Free Software

Recently, I had a discussion with RMS about being a speaker for Free Software.   In the end I was told simply to record some of my talks and that I would be given some feedback, but during the discussion I explained why I think GNUstep is important to free software and I believe that this is something that I think is important for other people to understand as well:

Hey Richard,

That shouldn't be hard to do.  I get invited to speak about GNUstep a
lot.  Not just about the technical aspects, but about it's importance
to free software.

While I have your attention, I would like to tell you the following...

I tend to see GNUstep as very important to the free software movement
as it facilitates developers moving away from environments such as
Cocoa and UIKit.  Apple has always been a power for control and an
enemy of freedom which is why I am so passionate about GNUstep.  I
don't like that they have locked down users like they have.

I realize that the rest of the community may not share my view and,
honestly, I have been somewhat disheartened as of late as I have
always had trouble getting other developers to see GNUstep as I do.
They focus on GNOME and KDE and consider Objective-C ugly or not
elegant.  I think that's a shame.   Which brings me to my final point.
  
Apple has recently introduced a new language called Swift.   It has
become abundantly clear that they have no intention of releasing Swift
even as open source (which I understand is a different movement, but
it would, at least, be a step for them in something which resembles
the right direction).

I feel like speaking about free software and, specifically, speaking
about how GNUstep can play an important role in it is why I would like
to be listed on the speakers list.   It would give me more of an
opportunity to speak out about Apple's evils and generally raise
awareness.

Thanks, GC

So, if anyone would like me to come and speak about free software or about GNUstep, please let me know.  I would be grateful for the opportunity.

Saturday, September 20, 2014

Recent Article About Swift Confirms Apple's Position

I really do hate being right sometimes.  I believe that's enough said on the subject, don't you?  All I know now is that action must be taken.   The era of closed source languages is over and has been for some time.

Monday, September 15, 2014

ToDo for GNUstep

My personal todo list on GNUstep at the moment in no particular order:

  1. XIB v5 support, currently working on this.
  2. Complete XIB/NIB creation via Gorm
  3. NSMetadata classes
    1. Involves looking into GWorkspace to see how metadata is extracted for files and to separate this functionality out.
  4. Printing on Windows. Integration with PrintDlg and GDI Printing API on Windows.
  5. Fix issues in buildtool/xcodebuild clone.
  6. WebKit implementation/Browser using CEF+elements of SWK
  7. Class Parser bugs fixed for ProjectCenter.

Friday, June 06, 2014

GNUstep's position on Swift


I wanted to make this post to make it clear to the community regarding GNUstep's position on the new Swift language.    If the language is released as open source then GNUstep will fully support it.  If it is, however, not released as open source then we will either take steps to create an implementation ourselves or provide any assistance needed to a group of people other than ourselves who are willing to take that on.

I believe that the language itself is a good one and that it represents an opportunity for more people to take part in the OSX, iOS and GNUstep communities if it's properly done.

My previous post was to illustrate the dangers of lock-in if that is, indeed, Apple's intention.  Those warnings should not be construed as any condemnation of the language itself.  This post is not backpedaling, only a clarification of my previous position (see the comments in the previous post).

Wednesday, June 04, 2014

Swift



Swift is a new programming language developed by Apple as a replacement for Objective-C.   I've had some time to review the language by reading the iBook which Apple made available on it for free.   It seems to me that the language is very javascript  like in it's design and is a clear concession to those who don't like Objective-C's syntax.   The real purpose behind this language, however, is a little darker.  I believe that it's ultimate purpose is lock-in.   The more developers start using Swift the less they are going to be able to move to other platforms (such as Android).   

Please be cautious when using it and make sure that the only platform you wish to release on is iOS because that is very likely the decision you ARE making if you choose swift.

The language itself is a very nice language, the implications of it are what concern me.  Anything which impacts user/developer freedoms makes me concerned.

Friday, November 01, 2013

GNUstep Ohloh Stats

Here are the latest stats from Ohloh. :)

30 Day SummaryOct 2 2013 — Nov 1 2013

12 Month SummaryNov 1 2012 — Nov 1 2013

  • 1195 CommitsUp +159 (15%) from previous 12 months
  • 17 ContributorsDown -2 (10%) from previous 12 months

Monday, August 12, 2013

Wednesday, July 24, 2013

The Dangers Of Walled Gardens

Apple's current status with their development site illustrates just one of the many issues with walled gardens.   The most significant of which is the compromise if user freedoms.   The one illustrated by last weeks incident shows us just how much developers for the iPhone and Mac app stores are at Apple's mercy.   While this was inherently obvious it has never been more obvious than right now just how fragile this relationship always was.

The real evil of Apple's app store is not the app store itself, but the code signing technology that is tied to it.   Since Apple is the only entity which can approve binaries to run on iOS devices or to go into the iOS or Mac app stores it represents a single point of failure.   This is the true evil of it.  What happens if Apple goes away?   We're left with devices which can't be used since the mothership is now gone.  Is this right?

I only hope that this incident gives people who are enamored with this concept time to reflect on what it's weaknesses really are.  

Google has managed to implement an appstore without much of the evil that is inherent in Apple's implementation and, even though Google may have done some evil with the NSA, at least it didn't do quite as much evil as Apple did in this particular instance.

Saturday, June 15, 2013

GNUstep Mythbusting...

Myth #1: GNUstep doesn't care about or implement any of the Cocoa frameworks or classes

As illustrated by some of the comments here, people still don't understand, really, what GNUstep is all about.  Sometimes I think it's the name, and sometimes I think it's just that people are willfully ignoring the facts or just want to spew nonsense in order to sound intelligent.

GNUstep implements most of the 10.5 APIs and is currently working on some of the 10.6, 7 and 8 Cocoa APIs.   Additionally, the project has implemented CoreFoundation, CoreGraphics and CoreAnimation is upcoming.   So, please, people.  Get off of this whole "GNUstep doesn't care" thing. We care and we are implementing as much as we can.   We are roughly 20 individuals, Apple is multi-billion dollar corporation.

Myth #2: No one uses GNUstep.

Wrong again, GNUstep is currently in use in millions of devices around the world.   This company http://www.apportable.com is using much of the GNUstep codebase to accomplish this.   It forms the basis for their UIKit implementation which is used to port applications from iOS to Android.   If we were only OpenStep, this wouldn't be possible.   Additionally, GNUstep is used by a number of companies to produce ports of their applications to Windows and to Linux.   See our wiki page about GNUstep success stories for more.

Myth #3: GNUstep can only look like NeXTSTEP

Not true.  GNUstep has devoted a lot of time to theming and the ability to make applications written using GNUstep look like just about anything you would like them to look like.

I'm sure these aren't the only myths circulating, but they are the most prominent and, to me, the most annoying.   I can't seem to get it through people's heads.  GNUstep is so much more than it used to be and so much more than people think it is.  I wish, for once, that people would actually look at the project before making judgements.

Myth #4: GNUstep looks like NeXTSTEP, so it must only implement NeXTSTEP

I honestly never expected developers to judge a book by it's cover, but many people do, even otherwise intelligent people.

Sunday, April 14, 2013

This is version 1.2.20 of Gorm.


1 ANNOUNCE
**********

This is version 1.2.20 of Gorm.

1.1 What is Gorm?
=================

Gorm is an acronym for Graphic Object Relationship modeler (or perhaps
GNUstep Object Relationship Modeler).

   Gorm is a clone of the Cocoa (OpenStep/NeXTSTEP) `Interface Builder'
application for GNUstep.

1.2 Noteworthy changes in version `1.2.20'
==========================================

   * Bug fixes #28643, #32827

   * Corrected issues with updating document when there is a change.

   * Add cells as objects to the document so they can be properly
     edited.

   * Changes to prevent recursive frame change notifications.

1.3 How can I get support for this software?
============================================

You may wish to use the GNUstep discussion mailing list for general
questions and discussion.  Look at the GNUstep Web Pages for more
information regarding GNUstep resources `http://www.gnustep.org/'

1.4 Where can you get it?  How can you compile it?
==================================================

You can download sources and rpms (for some machines) from
`ftp://ftp.gnustep.org/pub/gnustep/dev-apps'.

1.5 Where do I send bug reports?
================================

Bug reports can be sent to .

1.6 Obtaining GNU Software
==========================

Check out the GNUstep web site. (`http://www.gnustep.org/'), and the
GNU web site. (`http://www.gnu.org/')

Tuesday, April 02, 2013

Version 0.23.1 of the GNUstep GUI library (`gnustep-gui') is available

1 ANNOUNCE
**********

This is version 0.23.1 of the GNUstep GUI library (`gnustep-gui').

1.1 What is the GNUstep GUI Library?
====================================

It is a library of graphical user interface classes written completely
in the Objective-C language; the classes are based upon Apple's Cocoa
framework (which came from the OpenStep specification as release by
NeXT Software, Inc).  The library has been enhanced in a number of ways
to take advantage of the GNU system.  These classes include graphical
objects such as buttons, text fields, popup lists, browser lists, and
windows; there are also many associated classes for handling events,
colors, fonts, pasteboards and images.

   The GNUstep GUI Library is designed in two parts.  The first part is
the front-end component which is independent of platform and display
system.  This front-end is combined with a back-end component which
handles all of the display system dependent such as specific calls to
X/Windows.  This design allows the GNUstep applications to have the
"look and feel" of the underlying display system without any changes to
the application, and the library can be easily ported to other display
systems.

   The GNUstep GUI Library requires the GNU Objective-C compiler, the
GNUstep Base Library, the TIFF Graphics library, and a back-end
component like the GNUstep 'Back' Backend.

1.2 Noteworthy changes in version `0.23.1'
==========================================

This is a bugfix release, primarily to deal with coding/archiving
issues.

1.3 Where can you get it?  How can you compile it?
==================================================
The gstep-gui-0.23.1.tar.gz distribution file has been placed at
`ftp://ftp.gnustep.org/pub/gnustep/core'.

Read the INSTALL file or the GNUstep-HOWTO for installation
instructions.

1.4 Where do I send bug reports?
================================

Please log bug reports on the GNUstep project page
`http://savannah.gnu.org/bugs/?group=gnustep' or send bug reports to
<bug-gnustep@gnu.org>.
1.5 Obtaining GNU Software
==========================

Check out the GNUstep web site. (`http://www.gnustep.org/'), and the
GNU web site. (`http://www.gnu.org/')

The GNUstep Base Library, version 1.24.4, is now available.

1 Announcement
**************

The GNUstep Base Library, version 1.24.4, is now available.

1.1 What is the GNUstep Base Library?
=====================================

The GNUstep Base Library is a library of general-purpose, non-graphical
Objective C objects.  For example, it includes classes for strings,
object collections, byte streams, typed coders, invocations,
notifications, notification dispatchers, moments in time, network ports,
remote object messaging support (distributed objects), and event loops.

   It provides functionality that aims to implement the non-graphical
portion of the OpenStep standard (the Foundation library).

   There is more information available at the GNUstep homepage at
`http://www.gnustep.org'.

1.2 Noteworthy changes in version `1.24.4'
==========================================

   * Updated time zone data

   * OSX 10.7 NSCalendar methods

   * Portability improvments and minor bugfixes

   * More testcases in the testsuite

1.3 Where can you get it?  How can you compile it?
==================================================

The gnustep-base-1.24.4.tar.gz distribution file has been placed at
`ftp://ftp.gnustep.org/pub/gnustep/core'.

The GNUstep Makefile Package version 2.6.4 is now available.

1 Announcement
**************

The GNUstep Makefile Package version 2.6.4 is now available.

1.1 What is the GNUstep makefile package?
=========================================

The makefile package is a simple, powerful and extensible way to write
makefiles for a GNUstep-based project.  It allows the user to write a
project without having to deal with the complex issues associated with
configuration, building, installation, and packaging.  It also allows
the user to easily create cross-compiled binaries.

1.2 Changes in version `2.6.4'
==============================

Test framework extended equality tests.

   Android build target

1.3 Obtaining gnustep-make
==========================

You can get the gstep-make-2.6.4.tar.gz distribution file at
`ftp://ftp.gnustep.org/pub/gnustep/core'

   Please log bug reports on the GNUstep project page
`http://savannah.gnu.org/bugs/?group=gnustep' or send bug reports to
<bug-gnustep@gnu.org>.

Monday, March 04, 2013

Viking by Brilliant Service is using GNUstep in the Objective-C based software for their Head Mounted Device, pictured here:



Their website is here.  :)  I'm very happy to see GNUstep being used in so many new and different places.   The prospects for the future are exciting.

Sunday, March 03, 2013

The GNUstep Base Library, version 1.24.3, is now available.

1 Announcement
**************

The GNUstep Base Library, version 1.24.3, is now available.

1.1 What is the GNUstep Base Library?
=====================================

The GNUstep Base Library is a library of general-purpose, non-graphical
Objective C objects.  For example, it includes classes for strings,
object collections, byte streams, typed coders, invocations,
notifications, notification dispatchers, moments in time, network ports,
remote object messaging support (distributed objects), and event loops.

   It provides functionality that aims to implement the non-graphical
portion of the OpenStep standard (the Foundation library).

   There is more information available at the GNUstephomepage at
`http://www.gnustep.org'.

1.2 Noteworthy changes in version `1.24.3'
==========================================

   * Implementation of the NSXML DOM classes

   * Implementation of consistent TLS/SSL support

   * Implementation of new/selectable sorting algorithms

   * More explicit dependencies on external libraries.

1.3 Where can you get it?  How can you compile it?
==================================================

The gnustep-base-1.24.3.tar.gz distribution file has been placed at
`ftp://ftp.gnustep.org/pub/gnustep/core'.

Please log bug reports on the GNUstep project page
`http://savannah.gnu.org/bugs/?group=gnustep' or send bug reports to
<bug-gnustep@gnu.org>.

GNUstep GUI 0.23.0

1 ANNOUNCE
**********

This is version 0.23.0 of the GNUstep GUI library (`gnustep-gui').

1.1 What is the GNUstep GUI Library?
====================================

It is a library of graphical user interface classes written completely
in the Objective-C language; the classes are based upon Apple's Cocoa
framework (which came from the OpenStep specification as release by
NeXT Software, Inc).  The library has been enhanced in a number of ways
to take advantage of the GNU system.  These classes include graphical
objects such as buttons, text fields, popup lists, browser lists, and
windows; there are also many associated classes for handling events,
colors, fonts, pasteboards and images.

   The GNUstep GUI Library is designed in two parts.  The first part is
the front-end component which is independent of platform and display
system.  This front-end is combined with a back-end component which
handles all of the display system dependent such as specific calls to
X/Windows.  This design allows the GNUstep applications to have the
"look and feel" of the underlying display system without any changes to
the application, and the library can be easily ported to other display
systems.

   The GNUstep GUI Library requires the GNU Objective-C compiler, the
GNUstep Base Library, the TIFF Graphics library, and a back-end
component like the GNUstep 'Back' Backend.

1.2 Noteworthy changes in version `0.22.0'
==========================================

New features include:
   * This version is binary incompatible with previous versions due to
     the change of NSNotFound in GNUstep base.

   * Support for drawing the GUI with a scale factor, for high-DPI
     monitors.

   * Character panel

   * Color picker "Magnifier" tool, for grabbing the color of arbitrary
     parts of the screen

   Many NSImage improvements (Mac OS X 10.6 drawing methods, better
selection of image reps, better support for icons). Many bugfixes,
including in Xib loading, printing, and NSView geometry.

1.3 Where can you get it?  How can you compile it?
==================================================

The gstep-gui-0.23.0.tar.gz distribution file has been placed at
`ftp://ftp.gnustep.org/pub/gnustep/core'.

Read the INSTALL file or the GNUstep-HOWTO for installation
instructions.

1.4 Where do I send bug reports?
================================

Please log bug reports on the GNUstep project page
`http://savannah.gnu.org/bugs/?group=gnustep' or send bug reports to
<bug-gnustep@gnu.org>.
1.5 Obtaining GNU Software
==========================

Check out the GNUstep web site. (`http://www.gnustep.org/'), and the
GNU web site. (`http://www.gnu.org/')

GNUstep-make 2.6.3

1 Announcement
**************

The GNUstep Makefile Package version 2.6.3 is now available.

1.1 What is the GNUstep makefile package?
=========================================

The makefile package is a simple, powerful and extensible way to write
makefiles for a GNUstep-based project.  It allows the user to write a
project without having to deal with the complex issues associated with
configuration, building, installation, and packaging.  It also allows
the user to easily create cross-compiled binaries.

1.2 Changes in version `2.6.3'
==============================

Minor bugfix release.

1.3 Obtaining gnustep-make
==========================

You can get the gstep-make-2.6.3.tar.gz distribution file at
`ftp://ftp.gnustep.org/pub/gnustep/core'

   Please log bug reports on the GNUstep project page
`http://savannah.gnu.org/bugs/?group=gnustep' or send bug reports to
<bug-gnustep@gnu.org>.

Tuesday, February 12, 2013

Interview with Saul Mora on NSBrief


I recently had an interview with Saul Mora on his program NSBrief.  We discussed the history of the project and it's potential.  This interview went very well and I'm looking forward to seeing it posted on his site.

UPDATE: The interview has been posted. :)

What Apple has forgotten...

 When NeXT still existed and the black hardware was a thing, Steve Jobs made the announcement that OPENSTEP would be created and that the ob...