taskSavannah Administration - Tasks: task #9624, Submission of Objectify


task #9624: Submission of Objectify

Submitted by:  J. Scott Edwards <jsedwards>
Submitted on:  Wed 19 Aug 2009 04:29:00 AM UTC  
Should Start On:  Wed 19 Aug 2009 12:00:00 AM UTC Should be Finished on:  Sat 29 Aug 2009 12:00:00 AM UTC
Category:  Project Approval Priority:  5 - Normal
Status:  Done Privacy:  Public
Percent Complete:  100% Assigned to:  None
Open/Closed:  Closed Effort:  0.00

Add a New Comment(Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


( Jump to the original submission)

Fri 25 Sep 2009 01:27:31 PM UTC, comment #9:

Hi Sebastian,

Thanks to you, Leo, and everyone else for your help.

I wanted to try to clarify the "public objects", because they are kind of the opposite of generated files. I actually generate some of the code from them. My hope is to eventually have most of the program logic inside them. It is hard to explain. :(

I guess they/it is sort of a public database, kind of like the CD database, Wikipedia, Google Maps, and a bunch of other stuff combined.

Let me use a CD as an example of how I hope it will work: I buy one of the new remastered Beatles CDs at Best Buy, bring it home and put it in my computer. Assuming someone else has already entered the info about it into the public objects, the computer finds it in the public objects and not only gets the track info like the cddb does but automatically links to other information on the Beatles. I can get directly to information on the band members. If there is some word I don't know the meaning of in the title of one of the songs, I can look it up directly.

I can also scan in the receipt from Best Buy and it can look up the Best Buy store information in the public objects (and of course record that I bought that CD at Best Buy in my private objects/database).

Also if there is some problem with the transaction and I have to call the bank, I can directly get the phone number. I don't have to go their web page, search around to visually find the "contact info", and then search for this or that.

Sorry, this got so long. I feel frustrated that I can't explain this thing better. Thanks again for all of your help.


J. Scott Edwards <jsedwards>
Wed 23 Sep 2009 09:01:58 AM UTC, comment #8:

Leo, many thanks for your effort.

Scott, I approved the project. Enjoy maintaining it.
I am not sure if I understand completely what "public objects" are. As far as Savannah is concerned, it is not mandatory to put copyright&license on files that are generated automatically from some sort of source files. (That is, these files can easily be reproduced.) So you wouldn't have to put a copyright on the directory listing you linked to, but the CGI program which did this will need one.

Sebastian Gerhardt <sgerhardt>
Tue 22 Sep 2009 10:24:24 PM UTC, comment #7:

I reviewed the changes and they are complete, and I don't see anything else left that is needed to fix. I believe this can be approved if someone can finalize that it would be great.

Thank You,
Leo Jackson

-Deleted Account- <lajjr3>
Tue 22 Sep 2009 08:54:27 PM UTC, comment #6:

Fantastic I will check ASAP. If all goes well It will be complete soon and you will be added.

Leo Jackson

-Deleted Account- <lajjr3>
Tue 22 Sep 2009 06:59:11 PM UTC, comment #5:

Hi Leo,

I finally got that release out yesterday, it is Alpha_30.5 at http://sourceforge.net/projects/objectify/. I tried to get it out on Saturday so that it coincided with Software Freedom Day, but I didn't make it. I found a couple of bugs and I didn't want to do a release with them in it.

I believe I got copyright notices on all the documentation files and all of the ChangeLog files. I wasn't 100% sure where to put the notice on the ChangeLogs, so I put it right at the beginning. I noticed in the GFDL instructions it said to use it on scripts too. I already had a GPL notice in the scripts so I didn't change them. If it would be better for the scripts to have the GFDL notice instead please let me know.

There are a couple of web pages that I keep in the release and I wasn't sure if I should put the GFDL on them, it didn't seem quite right. So I copied the notice from the http://www.fsf.org web page. If I need to do something different for them let me know. I need to work on them anyway. I plan to change them so they link to gNewSense instead of Ubuntu. In fact this reminded me I need to go through all of the documentation and get it up to date, some of it is quite out of date.

This also brought up another question I have had: do the public objects/data need some sort of copyright? For example this web page is generated from the public objects: "http://www.worldwide-database.org/cgi-bin/list_files.cgi?md5", does it need some kind of a copyright notice?

Anyway, I would be more than happy to do another release if I didn't get it quite right yet. Just let me know.


J. Scott Edwards <jsedwards>
Tue 22 Sep 2009 02:02:07 PM UTC, comment #4:

Hi Scott,

please put your answer into the corresponding web interface of the item tracker. (See link below).

It is easier for us to keep track of the discussions on Savannah this way.


Sebastian Gerhardt <sgerhardt>
Sat 12 Sep 2009 06:09:20 PM UTC, comment #3:


Hello did you get to finish to the new release?

Leo Jackson

-Deleted Account- <lajjr3>
Wed 26 Aug 2009 06:57:58 PM UTC, comment #2:

J. Scott Edwards,
E-mails to Leo Jackson (lajjr3) and from J. Scott Edwards went to
-email is unavailable-
they included me asking him to adjust the Doc files to have a Doc License FDL 1.3 and also I ask him if he would prefer to have it a GNU project due to a chat discussion in #Savannah irc.freenode

He responded as follows he will make a new release with the changes.

Please respond to this on the Savannah project page to keep better track of the whole process, and this is where you will be approved.

Scott's project conforms to GPL v3 license and will be a good project to see added to our projects list.

Leo Jackson

-Deleted Account- <lajjr3>
Wed 19 Aug 2009 04:29:27 PM UTC, comment #1:

I did a quick check a license file exists. The headers are there it conforms to version 3 of GPL. Very clean it compiles, and it is a good concept High ambitions to make it part of other GNU Software.

Leo Jackson

-Deleted Account- <lajjr3>
Wed 19 Aug 2009 04:29:00 AM UTC, original submission:

A new project has been registered at Savannah
This project account will remain inactive until a site admin approves or discards the registration.

Registration Administration

While this item will be useful to track the registration process, approving or discarding the registration must be done using the specific Group Administration page, accessible only to site administrators, effectively logged as site administrators (superuser):

Registration Details

  • Name: Objectify
  • System Name: objectify
  • Type: non-GNU software & documentation
  • License: GNU General Public License v3 or later (None.)


My project started out as an experiment to try storing data as objects in a format more native to computers, instead of reading files, converting them to the format the program needs, doing whatever processing, then converting the data back to a file or files for storage.

While developing this paradigm I needed securely store a bunch of files so I decided, on a whim, to make a file object and store the files using my system. Until such time that I could store the data in the manner I had originally planned.

The basic idea is to have all of my data (files for now) stored in one place, instead of spread over the dozen computers I use. I have one thing to worry about backing up, etc. I eventually plan to have it be distributed over all of my machines.

At this point I have over 20,000 files stored using it. In addition to the normal encryption, I added a swizzle of the data to make it more difficult to decrypt. It can be used to store files in a disk partition, USB drive, or USB stick to store the data. It also can keep track of files burned to a CD or DVD and verify the disc.

All of the main code is written in C. I have one program that plays music, which is written in Fine (a compiler which I derived from the GNU SmallEiffel compiler) as a test.

There are many things about my project that I think are interesting, too many to go into detail here. One example is the integration of public and private data, where the public data is shared by all users. I.E. all users can contribute to a public database, which all other users can make use of.

Other Software Required:

The only dependency is linking with the openssl library (-lcrypto) which is included on all of the systems I tested it on. Some code from the GNU coreutils is included with my code.

All of the development of this code has been done on GNU/Linux, various distributions, over the years. This year I have been doing all of the development on gNewSense.

It runs far better on GNU/Linux than any other system I've tried it on. For example I tested it on a MacBook running Mac OS X and it was terribly slow. A task that would take under 10 minutes on GNU Linux, I estimated would have taken 18 hours to complete on the MacBook. I have not had time to investigate this phenomenon further.

Other Comments:

I think one cool thing about my project is that it will demonstrate the power of Free Software. I plan to integrate it with many other GNU programs, such as the GIMP, so that they can directly access data stored in my system. To me that is the power of Free software, that it allows me to develop my software and integrate it in with all of this other great software. It would be impossible to do what I want to do in the proprietary software world. Well, it would be impossible for me since I don't have billions of dollars to throw around :)


Please note that if you plan to actually build the programs in the tarball you need to download the public objects too:


To build you have to do a couple of extra steps:

gunzip /path/to/public-090522-0030.gz
export OBJECTIFY_PUBLIC_PATH=/path/to/public-090522-0030

Then just the normal:


If you just want to play with it the easiest thing to do next is:

export OBJECTIFY_PRIVATE_PATH=/tmp/private.obj

This will disable the log and backup files and create an archive in /tmp/private.obj

Then you can do:

src/apps/file/import_file *.[ch]
src/apps/file/verify_file --remove-no-shred *.[ch]

All of the .c and .h files should be gone now.

src/apps/file/export_file *.[ch]

Should restore all of them. You can also run/look at the test scripts in the testing directory.

Tarball URL:


J. Scott Edwards <jsedwards>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by sgerhardt (Posted a comment)
  • -email is unavailable- added by jsedwards (Submitted the item)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.




    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2009-09-23 sgerhardt StatusNone => Done
        Percent Complete0% => 100%
        Open/ClosedOpen => Closed

    Back to the top

    Powered by Savane 3.4