summer-of-code
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [IMPORTANT] Ideas for Summer of Code 2018


From: Ivan Vučica
Subject: Re: [IMPORTANT] Ideas for Summer of Code 2018
Date: Wed, 24 Jan 2018 23:48:39 +0000

Hi Giuseppe,

I'm going to clean up last year's HTML as posted on 2017's ideas page,
and add a new featured idea.

Can we encourage students to discuss proposals with us before
submitting them? I've abstained from doing so in the text below,
though it would be useful to somehow hint to prospective students that
the devs / community can help them choose a project that has a chance
of being mentored.

---------------------------------------------------------------------------------
<h3 id="gnustep"><a href="/software/gnustep">GNUstep</a></h3>

<p>
GNUstep is a console, desktop and web application development
framework for development using Objective-C. It is based on OPENSTEP
specification, and is today interested in achieving compatibility
with Apple's Cocoa set of frameworks. GNUstep consists of
gnustep-base (classes for strings, arrays, dictionaries, timers,
sockets, et al), gnustep-gui (classes for windows, buttons,
textboxes, et al), gnustep-make (a build system) as well as an
assortment of development utilities and bonus libraries.
</p>

<p>
In addition you can find more ideas on this page:
<a 
href="http://wiki.gnustep.org/index.php/Summer_Of_Code_Ideas";>http://wiki.gnustep.org/index.php/Summer_Of_Code_Ideas</a>
</p>

<p>
There is also a <a
href="http://wiki.gnustep.org/index.php/Application_wish_list";>wishlist
for new apps</a> on GNUstep's wiki.
</p>

<p>Note that the GNUstep project is open to other ideas from
students. Please contact them if you have any to discuss the
idea and find a mentor.</p>

<p><strong>Contact</strong>: <a
href="mailto:address@hidden";>address@hidden</a>,
<a href="mailto:address@hidden";>address@hidden</a></p>


<h4>Improve Core Animation implementation and integrate it into
AppKit</h4>

<p>
During summer of code 2012, Core Animation has been implemented for
GNUstep. During summer of code 2013, Core Graphics backend has been
implemented for GNUstep using our library Opal. In order to improve
compatibility with Cocoa, as well as make it easier to implement
modern-looking applications for GNUstep, a student should integrate
CALayer with NSView and improve Core Animation where required.
</p>

<p>
This would also make it possible to use Chameleon, an implementation
of UIKit, with GNUstep.
</p>

<p>
<strong>Required Skills</strong>:Good understanding of Objective-C
(language syntax and behavior), especially pre-Automatic Reference
Counting. Excellent understanding of Foundation and its concepts such
as key-value coding. Decent understanding of and some experience with
OpenGL. Decent understanding of AppKit.
<br/>
<strong>Preferred Skills</strong>: Some experience with building and
installing GNUstep
<br/>
<strong>Difficulty</strong>: Medium
<br/>
<strong>Mentor</strong>: Ivan Vučica

<h4>Improve Core Animation implementation and implement UIKit</h4>
<p>
During summer of code 2012, Core Animation has been implemented for
GNUstep. During summer of code 2013, Core Graphics backend has been
implemented for GNUstep using our library Opal. In order to attract
more developers to free platforms, as well as expand availability of
touch-enabled applications, a student should create a
UIKit-compatible user interface library and improve Core Animation
implementation where necessary.
</p>

<p>
<strong>Required Skills</strong>:Good understanding of Objective-C
(language syntax and behavior), especially pre-Automatic Reference
Counting. Excellent understanding of Foundation and its concepts such
as key-value coding. Decent understanding of and some experience with
OpenGL. Excellent understanding of UIKit and the underlying
architecture.
<br/>
<strong>Difficulty</strong>:Hard
<br/>
<strong>Mentor</strong>:Ivan Vučica


<h4>Port WebKit</h4>

<p>
Running WebKit on top of GNUstep will solve a lack of a modern web
view on the framework's stack as well as contribute to parity with
macOS within the project.
</p>

<p>
As of 2018, a recent revision of WebKit has been successfully built
with GNUstep libraries on Arch Linux + clang + libobjc2.
JavaScriptCore (WebKit's JavaScript engine) is mostly functional;
WebCore and WebKitLegacy.framework are built but a sample browser
still crashes. This has been possible through a series of additions to
GNUstep as well as some patches to WebKit. For more details, see
<a 
href="https://summerofcode.withgoogle.com/archive/2017/projects/6384501231976448/";>2017's
project</a>.
</p>

<p>
The work ahead involves a *lot* of debugging and implementation of
Foundation/CoreFoundation/CoreGraphics/QuartzCore functions to support
this.
</p>

<p>
<strong>Difficulty:</strong> Very High</p>
<br />
<strong>Experience needed:</strong> Expert at C/C++/Objective-C,
Runtime and Core* Apple libraries. Debugging skills (e.g. gdb usage)
are also highly recommended.
<br />
<strong>Mentor</strong>: Daniel Ferreira
</p>
---------------------------------------------------------------------------------

On Tue, Jan 9, 2018 at 10:06 AM, Giuseppe Scrivano <address@hidden> wrote:
> Hi!
>
> Google is accepting applications for the next Summer of Code and as
> usual we are going to apply for it. José, Darshit and myself are going
> to manage the presence of GNU.
>
> We should start thinking about a list of ideas for the next Summer of
> Code and potential mentors.
>
> This is the list of ideas we had last year:
>
>   http://www.gnu.org/software/soc-projects/ideas-2017.html
>
> Is there anything left undone that can be reused this year?
>
> Please start sending ideas to add to the page and link them to the
> potential mentors that can help with it.
>
> Please send the html snippet for the ideas page, something like:
>
> ---------------------------------------------------------------------------------
> <h3 id="foo"><a href="http://www.gnu.org/software/foo";;>GNU FOO</a></h3>
>
> <p>GNU FOO maintains their list of ideas for GSOC in an external
>   webpage: <a
> href="http://foo.org/wanted.html";;>http://foo.org/wanted.html</a>.
> </p>
> ---------------------------------------------------------------------------------
>
> so that it can be embedded in the page as it is.
>
> Regards,
> Giuseppe
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]