Diffstat (limited to 'gsoc_2014_ideas.mdwn')
1 files changed, 124 insertions, 0 deletions
diff --git a/gsoc_2014_ideas.mdwn b/gsoc_2014_ideas.mdwn
new file mode 100644
@@ -0,0 +1,124 @@
+[[!meta title="GSoC 2014 Ideas"]]
+[[!toc]] This is the
+[NetSurf](http://www.netsurf-browser.org/) project's ideas page for
+Google Summer of Code 2014.
+This page lists our project ideas for **[Google Summer of Code
+### Before applying for a project
+- Join our IRC channel `#netsurf` on [Freenode](http://freenode.net/)
+ and introduce yourself. Also, subscribe to the [developer mailing
+- Get up to speed with
+ as we use this for source control, and get the NetSurf [source
+ and enjoy using it. (Ask if you need help.)
+- Get familiarised with the source code – read the [source
+- Consider submitting a patch to fix an issue on our [bug
+### When applying for a project
+- Tell us about yourself, your experience, and why you want to work
+ with us.
+- Describe the project you want to do, and how you plan to go about
+ doing it. **Do not simply copy the project description from the
+ ideas page.**
+- Create a set of project milestones (ranging from a couple to maximum
+ 10) with expected completion dates. This will be useful for you as
+ guidance and for us to set our expectations right.
+- Describe how you will test your contributions.
+- Include your IRC nick in your application if you've spoken with us
+ on `#netsurf`, so that we recognise you. **We strongly recommend
+ that you communicate with us before submitting an application.**
+- We expect GSoC to be mostly equivalent to a full-time job.
+ Therefore, please tell us if you have any other demands on your
+### During the project
+- Most of NetSurf team communication happens via \#netsurf IRC during
+ evenings and nights
+ ([CET](http://en.wikipedia.org/wiki/Central_European_Time)). We
+ expect you to join in on a regular basis for help, discussions and
+ project updates. Note that you're not restricted to speaking to your
+ assigned mentor; the whole development team are willing to help
+ wherever they can.
+- Keep NetSurf's [project
+ goals](http://www.netsurf-browser.org/about/#ProjectGoals) in mind,
+ especially the first point.
+There is some more information in the [GSoC
+section](http://wiki.netsurf-browser.org/google-summer-of-code) of our
+wiki. Note particularly the [student
+Please [get in touch](http://www.netsurf-browser.org/contact/) if our
+project idea appeals to you or if you have your own idea for either
+[NetSurf](http://www.netsurf-browser.org/) or one of NetSurf's
+[sub-projects](http://www.netsurf-browser.org/projects/). Come and chat
+to the developers in the NetSurf IRC channel or post to the developer
+Project: Update Core Web Technology Libraries
+This is a project to improve and add features to the [NetSurf
+project](http://www.netsurf-browser.org/)'s core web-technology
+libraries. These libraries are MIT licenced and are available to, and
+used by, other projects. The libraries in question are:
+- [LibHubbub](http://www.netsurf-browser.org/projects/hubbub/) - HTML5
+ Parsing library
+- [LibCSS](http://www.netsurf-browser.org/projects/libcss/) - CSS
+ Parser and Selection Engine
+- [LibDOM](http://www.netsurf-browser.org/projects/libdom/) - Document
+ Object Model library
+### Project Outline
+- Phase 1 (Easy)
+ 1. Implement reamining LibDOM html element specialisations.
+ **Existing code:**
+ Some, like html\_button\_element.c have implementations, while
+ most like html\_anchor\_element.c do not.
+ **Specification:** [Level 2 Document Object Model
+- Phase 2 (One of the following)
+ 1. Bring Hubbub up to latest HTML5 spec. This involves comparing
+ the current implementation with the specification and updating
+ our implemenation where appropriate.
+ **Existing code:**
+ **Specification:** [HTML5
+ 2. Add CSS3 properties to LibCSS.
+ **Existing code:**
+ **Specification:** [CSS
+The decision on Phase 2 will be made by the student and mentors,
+depending on the interests of the student, ability shown in Phase 1, and
+time remaining. It is not anticipated that there will be time for a
+student to do both items of Phase 2, however the work is there if a
+gifted student makes good progress.
+**Skills required:** Experience of the C programming language
+**Skills desirable:** HTML, DOM, CSS