summaryrefslogtreecommitdiff
path: root/gsoc_2014_ideas.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'gsoc_2014_ideas.mdwn')
-rw-r--r--gsoc_2014_ideas.mdwn124
1 files changed, 124 insertions, 0 deletions
diff --git a/gsoc_2014_ideas.mdwn b/gsoc_2014_ideas.mdwn
new file mode 100644
index 0000000..d2c0e67
--- /dev/null
+++ b/gsoc_2014_ideas.mdwn
@@ -0,0 +1,124 @@
+[[!meta title="GSoC 2014 Ideas"]]
+[[!meta author="Tlsa"]]
+[[!meta date="2014-02-14T15:04:04Z"]]
+
+
+[[!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
+2014](http://code.google.com/soc/)**.
+
+General Information
+-------------------
+
+### Before applying for a project
+
+- Join our IRC channel `#netsurf` on [Freenode](http://freenode.net/)
+ and introduce yourself. Also, subscribe to the [developer mailing
+ list](http://www.netsurf-browser.org/lists/netsurf-dev).
+- Get up to speed with
+ [Git](http://wiki.netsurf-browser.org/Documentation/GettingCoding),
+ as we use this for source control, and get the NetSurf [source
+ code](http://www.netsurf-browser.org/documentation/develop#SourceControl).
+- [Build
+ NetSurf](http://www.netsurf-browser.org/documentation/develop#Compiling)
+ and enjoy using it. (Ask if you need help.)
+- Get familiarised with the source code – read the [source
+ code](http://source.netsurf-browser.org/).
+- Consider submitting a patch to fix an issue on our [bug
+ tracker](http://bugs.netsurf-browser.org/)
+
+### 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
+ time.
+
+### 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
+guidelines](http://wiki.netsurf-browser.org/gsoc-student-guidelines).
+
+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
+mailing list.
+
+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:**
+ [libdom/src/html](http://git.netsurf-browser.org/libdom.git/tree/src/html)
+ Some, like html\_button\_element.c have implementations, while
+ most like html\_anchor\_element.c do not.
+ **Specification:** [Level 2 Document Object Model
+ HTML](http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/idl-definitions.html)
+- 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:**
+ [libhubbub/src](http://git.netsurf-browser.org/libhubbub.git/tree/)
+ **Specification:** [HTML5
+ Parsing](http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html)
+
+ 2. Add CSS3 properties to LibCSS.
+ **Existing code:**
+ [libcss/src](http://git.netsurf-browser.org/libcss.git/tree/src)
+ **Specification:** [CSS
+ Specs](http://www.w3.org/Style/CSS/specs.en.html)
+
+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
+