Saturday, July 16, 2011

Banning software patents....

I have been fighting against software patents for years.   It's upsetting to see things like this happening:

And this:

Doesn't the US realize that we are killing our software industry by doing this?   You can't even say that big business believes in software patents anymore since large companies in the US are now also turning against  them.

The EU and the UK both rejected software patents for a very good reason.  Because they realized that abstract ideas should not be patentable.   Software is fundamentally reducible to mathematical algorithms.   It is incremental in it's nature and, many times, there is only one way to do things.  For all of these reasons and many more.

Most companies today, especially small ones, are forced to patent certain things they do because they need to maintain a patent portfolio.   They do this to defend themselves.   So, like nuclear weapons, patents proliferate in a sort of MAD (Mutually Assured Destruction) approach.

As an incentive to reform I would like to see the USPTO take a dose of what it is creating.  The USPTO should be required to pay a fine for every patent which is found invalid with the money going towards a fund to pay restitution to those who've lost money due to the USPTO's negligence.  In addition, it should be an option to sue the USPTO for issuance of a bad patent by either the party holding the patent or the party which was sued due to the issuance of the patent or both.

Ultimately, it is the USPTO putting these weapons of mass destruction in everyone's hands.  They should be forced to reap what they've sown.

Saturday, July 02, 2011

Building clang for use with GNUstep

1) Build using the instructions here:

2) Once that's done, download the latest version of Hans Boehm's garbage collector here:

3) Untar, Build and install boehm-gc.... it should be gc-7.1.tar.gz
    build it with clang like so:
              ./configure CC=clang LD=gcc && make CC=clang LD=gcc
          make install
    NOTE: You only need to do step 2 & 3 if you want garbage collection, if not you can skip it.

4) Build gnustep-make like so and install it:

              ./configure CC=clang LD=gcc && make CC=clang LD=gcc
          make install

5) Build libobj2 and install it:
              make CC=clang CXX=clang++ LD=gcc
         make install
6) Build base, gui and back and install them:
         ./configure CC=clang CXX=clang++ LD=gcc && make CC=clang CXX=clang++ LD=gcc messages=yes
         . /usr/GNUstep/System/Library/Makefiles/ && make GNUSTEP_INSTALLATION_DOMAIN=SYSTEM install

That should be all there is too it.  Not much, but a few little details which might serve to make it enough of a pain to discourage some people.

Thursday, June 16, 2011

Talk in Western Pennsylvania (Pittsburgh) April 21, 2011 - Report

I realize this is a little late, but I figured that I should post my impressions anyway.   First I have to say I was honored when Mark Darymple invited me to come and talk at Cocoaheads in Pittsburgh.  I tend to give talks off of the cuff since I don't usually do well sticking to a script and that's what I did at this meeting and it worked fairly well.

The reception of GNUstep was very positive and the members of the group were eager to learn.  I got a lot of questions about the project including what we're planning to do with respect to an iOS compatibility layer and also what we're currently working on.   I also did get a lot of complaints about how GNUstep looks, in general.  I showed them the work that's being done on both Windows and GNOME to improve how GNUstep blends in with those environments using the new theming code.   They seemed very impressed by that as well as by Bean.

I did a basic demo of how Gorm works as well as PC and showed them pbxbuild building a Mac OS X project.  

Most of the members of the group knew about GNUstep, but didn't know it currently followed Cocoa and some had not followed it in a while since they assumed the project was no longer active.   This is one of the many reasons why I am trying to do this talks.  To make sure I spread the word that it is still out there and still kicking.

I sincerely thank the people of Cocoaheads, Pittsburgh for giving me the opportunity to come and talk.  It was a distinct pleasure meeting each and every one of you. :)

Sunday, January 02, 2011

How to build the GNOME theme...

This article is in response to a request for instructions on how to build the theme...

Given that this is currently very experimental code I didn't think an article about how to use it was in order yet since it's not released, but it makes sense to do this nevertheless. :)

Here's how:

  1. Get the code from SVN per the instructions at the project page.  The URL for the SVN project page is 
    1. You should be able to go to the GNUstep project and choose Source Code->Use Subversion and follow the instructions there.   Once you check out, the code should be located at gnustep/modules/plugins/themes/GnomeTheme.
  2. Make certain you have all of the necessary GNOME packages installed as well as their dev equivalents, these include (please let me know if I'm missing anything):
    1. gtk-x11-2.0
    2. gdk-x11-2.0
    3. atk-1.0
    4. pangoft2.1.0
    5. gdk_pixbuf-2.0
    6. pangocairo-1.0
    7. gio-2.0
    8. pango-1.0
    9. gobject-2.0
    10. gmodule-2.0
    11. glib-2.0
    12. gconf-2.0
  3. Build GNUstep's core libraries... there are plenty of tutorials on how to do this.
  4. You should then be able to build the GNOME theme and install it simply by doing: 
    1. make
    2. make install (as root)
  5. Once that's done, you can start using the theme in one of three ways:
    1. defaults write NSGlobalDomain GSTheme GnomeTheme
    2. open the Info panel of the app you want to test the theme with and choose the theme for the application there
    3. open SystemPreferences and go to the Themes module and choose the theme from the list of themes available there. 
Please let me know if there's anything I missed here or if any further information is needed.  GC

Foundation is now close to Catalina compatibility

I have worked hard to get it to this point, but all of the classes in Catalina are now present in GNUstep's base implementation. Soon, ...