path: root/gsoc_2014_ideas.mdwn
diff options
authorDaniel Silverstone <>2017-02-04 09:41:13 +0000
committerDaniel Silverstone <>2017-02-04 09:41:13 +0000
commite7366bf41f68cfe07e9ea03fc4a398baecbae651 (patch)
tree5bb9c3cbe7eab7e70ff1ebd65d9de59a694762df /gsoc_2014_ideas.mdwn
Initial conversion from MediaWiki, 20170204
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
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]( project's ideas page for
+Google Summer of Code 2014.
+This page lists our project ideas for **[Google Summer of Code
+General Information
+### Before applying for a project
+- Join our IRC channel `#netsurf` on [Freenode](
+ and introduce yourself. Also, subscribe to the [developer mailing
+ list](
+- Get up to speed with
+ [Git](,
+ as we use this for source control, and get the NetSurf [source
+ code](
+- [Build
+ NetSurf](
+ and enjoy using it. (Ask if you need help.)
+- Get familiarised with the source code – read the [source
+ code](
+- Consider submitting a patch to fix an issue on our [bug
+ tracker](
+### 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]( 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]( in mind,
+ especially the first point.
+There is some more information in the [GSoC
+section]( of our
+wiki. Note particularly the [student
+Please [get in touch]( if our
+project idea appeals to you or if you have your own idea for either
+[NetSurf]( or one of NetSurf's
+[sub-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]('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]( - HTML5
+ Parsing library
+- [LibCSS]( - CSS
+ Parser and Selection Engine
+- [LibDOM]( - Document
+ Object Model library
+### Project Outline
+- Phase 1 (Easy)
+ 1. Implement reamining LibDOM html element specialisations.
+ **Existing code:**
+ [libdom/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](
+- 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](
+ **Specification:** [HTML5
+ Parsing](
+ 2. Add CSS3 properties to LibCSS.
+ **Existing code:**
+ [libcss/src](
+ **Specification:** [CSS
+ Specs](
+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