Difference between revisions of "Summer Of Code 2007"

From GNUstepWiki
Jump to navigation Jump to search
(Updated page to reflect accepted projects)
Line 1: Line 1:
The [http://code.google.com/soc/ Summer Of Code] is a Google program that offers student developers stipends to create new freely available programs or to help currently established projects. It would be an excellent opportunity for GNUstep to fund some developments.
+
The [http://code.google.com/soc/ Summer Of Code] is a Google program that offers student developers stipends to create new freely available programs or to help currently established projects. This year, GNUstep had two projects accepted:
  
== Ideas ==
+
{| class="wikitable"
Here are some ideas -- Feel free to add more
+
|-
 +
! Project
 +
! Student
 +
! Mentor
 +
|-
 +
| [[Text_System_Project|Improving GNUstep AppKit components and the Text System]]
 +
| Christopher Elsmore
 +
| David Chisnall
 +
|-
 +
| Key Value Observing and Bindings implementation
 +
| Christopher Farber
 +
| Nicola Pero
 +
|}
  
 +
The original [[Summer_Of_Code_Ideas|proposed ideas]] are maintained for historical interest, and for students thinking of applying next year. 
  
=== Bindings, KVO support ===
+
=== Mentors ===
* We need NSController, NSArrayController, NSObjectController, NSTreeController, NSUserDefaultController, NSValueTransformer implementations. NSSortDescriptor has already been implemented by Saso Kiselkov. The current NSTreeController is known to be a bit buggy and have an API a bit flawed, as Apple rushed the release of this class in Mac OS 10.4. It is widely believed that these shortcomings will be fixed in Leopard (10.5), so perhaps we should wait a while.
 
* Key Value Observing implementation was written by Richard Frith-Macdonald, and is only about 80% finished. Needs completion and testing.
 
 
 
 
 
=== Porting ===
 
* Port [http://developer.apple.com/opensource/internet/webkit.html WebKit] (using GCC 4.x with ObjC++ support). There's been discussion of a bounty for this, [http://www.nabble.com/WebKit-Bounty-tf3331066.html#a9262324 see the mailing list].  The WebKit team is willing to help whoever wants to take on this project, please see [http://lists.gnu.org/archive/html/discuss-gnustep/2007-03/msg00290.html this email].
 
* Port the [[Platform:Other|mySTEP]] changes. [http://www.nabble.com/Call-for-volunteers%3A-Backporting-mySTEP-changes-tf3370983.html Some have already volunteered], but as this is a big project, more help is welcome.
 
 
 
=== General Improvements ===
 
* Printing Support (better postcript generation, etc. see [https://savannah.gnu.org/bugs/?16262 bug #16262])
 
* MS Windows support (better integration in the MS Windows look and feel, especially the in-window-menu support needs work)
 
* [[GNUstepWeb]] (add script language support, etc)
 
* Finish input server [http://svn.gna.org/viewcvs/gnustep/libs/gui/branches/kazunobu_input_management/ support]
 
* Compare current API with Tiger's API, indicate which classes are missing, and summarize the current status of the existing ones, then work to complete them... ;) The best would be to have a tool which parses all headers (both from Cocoa and GNUstep) and outputs differences in HTML (XML probably too by the way). This would summarize missing classes, missing or partially implemented methods in existing classes and GNUstep-specific extensions. Eventually we should include links to the related documentation on both GNUstep and Cocoa web sites.
 
** That is being done here on the wiki, see [[ApplicationKitCompatibility]] [[User:Martin|Martin]] 08:47, 7 March 2007 (CET)
 
 
 
 
 
=== AppKit ===
 
* Text System should be cleaned, profiled and finished. Many methods in NSLayoutManager are unfinished or unimplemented, so we currently cannot tweak the test system as much as the one provided by Cocoa. (Quentin Mathe)
 
* We need NSTypeSetter, NSGlyphStorage, NSGlyphInfo, and NSGlyphGenerator implementations. If NSTypeSetter and NSLayoutManager were implemented, they would probably be used in Etoile. (Quentin Mathe)
 
* NSTextTable, NSTextTableBlock, NSTextList, & NSTextBlock implementations would also bring the GNUstep text system in line with that of Cocoa as of Mac OS 10.4. The classes could be useful to build a powerful word processor. (Quentin Mathe)
 
* NSOpenGL Classes could be improved, made compatible with current Cocoa implementations, and further tested (Quentin Mathe)
 
* NSBitmapImageRep formats: Currenly, we support only reading and writing for TIFF, read-only for GIF, JPEG, PNG, PNM. We would like to have write support for these NSBitmapImageRep categories. Afterwards, SVG reading, then write support, would be nice. (Quentin Mathe)
 
* NSDatePicker, NSLevelIndicator (and obligatory companion NSCell subclasses) implementations.
 
* NSFormatter isn't working very well at this time (Quentin Mathe)
 
 
 
=== Base ===
 
* NSDateComponents implementation.
 
* NSCalendar implementation.
 
* Finish the NSPredicate implementation. This was partially done by Quentin Mathe, but is untested. The most important part is not done, which is to write a parser and lexer for the custom language used by NSPredicate. Also needed for this are NSComparisonPredicate, NSCompoundPredicate, and NSExpression implementations.
 
* Test the NSXMLParser Cocoa class wrapper around GSXML, written by Richard-Frith Macdonald. Once this is thoroughly tested, NSXMLDocument, NSXMLDTD, and NSXMLDTDNode, and NSXMLElement, and NSXMLNode implementations may be useful for compatibility.
 
 
 
 
 
=== Core Data ===
 
* Saso Kiselkov started implementing this [http://gscoredata.nongnu.org/ framework]. However, NSManagedObjectContext & NSPersistentStoreCoordinator have yet to be tackled according to his web page. Presumably NSPersistentDocument also needs to be implemented.
 
 
 
 
 
=== Misc ===
 
* Create a AJAX Framework for GNUstepWeb
 
* Create Objective-C bindings for DBUS
 
 
 
== Note ==
 
 
 
We need [http://code.google.com/soc/mentorfaq.html mentor(s)] to manage the volunteers and a backup administrator. In addition to putting your name here make sure you also sign up at the [http://code.google.com/soc/mentor_step1.html Google Mentors] page.
 
  
=== Mentors ===
+
The following agreed to provide additional mentoring, and answer questions for students in addition to their assigned mentors:
  
 
* Adam Fedor (Also main administrator)
 
* Adam Fedor (Also main administrator)
 
* Nicolas Roard
 
* Nicolas Roard
* David Chisnall
 
 
* Richard Frith-Macdonald
 
* Richard Frith-Macdonald
 
=== Students ===
 
 
* Christopher Elsmore
 
* Christopher Farber
 

Revision as of 14:43, 13 April 2007

The Summer Of Code is a Google program that offers student developers stipends to create new freely available programs or to help currently established projects. This year, GNUstep had two projects accepted:

Project Student Mentor
Improving GNUstep AppKit components and the Text System Christopher Elsmore David Chisnall
Key Value Observing and Bindings implementation Christopher Farber Nicola Pero

The original proposed ideas are maintained for historical interest, and for students thinking of applying next year.

Mentors

The following agreed to provide additional mentoring, and answer questions for students in addition to their assigned mentors:

  • Adam Fedor (Also main administrator)
  • Nicolas Roard
  • Richard Frith-Macdonald