Difference between revisions of "GSOC2017 Ideas"

From Ελεύθερο Λογισμικό / Λογισμικό ανοιχτού κώδικα
Jump to navigation Jump to search
Line 1: Line 1:
Practical information for students
'''Proposed Projects for GSOC 2017'''
'''Proposed Projects for GSOC 2017'''
Line 205: Line 208:
'''Mentors:''' [https://github.com/kranidiotis Panagiotis Kranidiotis], [https://github.com/pkst-ellak Kostas Papadimas], [https://github.com/dkoukoul Dimitris Koukoulakis]
'''Mentors:''' [https://github.com/kranidiotis Panagiotis Kranidiotis], [https://github.com/pkst-ellak Kostas Papadimas], [https://github.com/dkoukoul Dimitris Koukoulakis]'''<nowiki/>'''
== Information for students ==
=== When can students apply for GSoC? ===
20 March until 3 April 2017 (see [https://developers.google.com/open-source/gsoc/timeline timeline]).
=== What programming language(s) should I know to participate in GSoC? ===
The programming language you need to know depends on which project you are
interested in working with. You should be familiar with the programming
language(s) used by that project.
=== Can I submit more than one proposal? ===
Yes, each student may submit up to five proposals. However, only one per student
may be accepted. No more than one proposal per student will be accepted, no
matter how many proposals you submit.
=== Can a group submit a proposal together to work on a single project? ===
No, only an individual may work on a given project.
=== Should I send proposals directly to the mentoring organizations? ===
No, all proposals should be submitted to the program site. Proposals submitted
outside of the Google Summer of Code program site <strong>will not be considered</strong> for Google Summer of
=== What are the eligibility requirements for participation? ===
* You must be at least 18 years of age
* You must currently be a full or part-time student (or have been accepted for the fall term) at an accredited    university as of the student acceptance date
* You must be eligible to work in the country you will reside in during the    program
* You have not already been accepted as a Student in GSoC more than once
* You must reside in a country that is not currently embargoed by the United    States. See Program Rules for more information.
=== What forms will I need to provide? ===
All applicants will need to provide proof of enrollment to an accredited educational institution.
Accepted participants will need to provide appropriate
tax forms.
=== How do I know if my school is “accredited”? ===
You can learn more about accreditation for universities
here. Please note
that participating in online courses, even if they are with accredited
universities, does not alone constitute enrollment. You must be/will be enrolled
at the university.
=== I graduate in the middle of the program. Can I still participate? ===
Yes, as long as you are accepted into or enrolled in a college or university
program as of the date accepted students are announced, you are eligible to participate in the
program. Students must provide proof of enrollment during the proposal period.
=== Do I get paid for participating in GSoC? ===
Yes! Google will provide a stipend to those students who successfully complete
the program.  More information on the stipend can be
found here.
=== Will I get paid even if the organization does not use my code? ===
Yes, so long as the student passes his/her evaluation(s). Whether or not the
project uses the produced code does not impact the student stipend.
=== What does a good student proposal look like? ===
The [https://developers.google.com/open-source/gsoc/resources/manual#student_manual Student Manual] has a
section on "Writing a Proposal".
The best proposals are often from students who took the time to interact and
discuss their ideas with the organization <strong>before</strong> submission.  '''Be sure toinclude the following: detail on exactly what you're proposing, why you're
proposing it, the reason you're qualified to do it, and your development
methodology. It should also include details of your academic, industry, and/or
open source development experience.'''
=== How much time does GSoC participation take? ===
You are expected to spend around 30+ hours a week working on your project
during the 3 month coding period.  If you already have an internship, another summer job, or plan to be gone on vacation for more than a week during that time, GSoC is not the right program for you this year.
=== Can I earn course credit for participating in GSoC? ===
Absolutely. Google can provide documentation to your school so you can obtain
course credit once we receive a positive final evaluation from your mentor.

Revision as of 11:59, 1 March 2017

Practical information for students

Proposed Projects for GSOC 2017

Synnefo[edit | edit source]

Brief Explanation:[edit | edit source]

Synnefo (https://www.synnefo.org/) is a complete open source cloud stack written in Python that provides Compute, Network, Image, Volume and Storage services. Synnefo exposes an OpenStack-derived API that can be used for third party clients, and is used for its own graphical user interface that powers the Okeanos public cloud infrastructure (http://okeanos.grnet.gr). Synnefo manages multiple Ganeti clusters at the backend for handling low-level VM operations and can use different storage backends.

Related GitHub repositories:[edit | edit source]


Expected Results:[edit | edit source]

Telemetry (implementation of OpenStack Telemetry / Ceilometer)

Multidatacenter integration

Physical node administration Management Web Console (Add, remove, update a physical node)

Network Management Console

Knowledge Prerequisites:[edit | edit source]

· Python

· Ganeti

· OpenStack API

· Ceph, Gluster, DRBD

Mentors: Panos Louridas, Panagiotis Kranidiotis, Costas Tsaousis

The Transparency Program initiative - Diavgeia[edit | edit source]

Brief Explanation:[edit | edit source]

Diavgeia is a PHP application with a Mysql backend that is used in order to upload documents to an online public repository. This version of code was used by the Greek government from 2010-2014 as the main repository of public decisions and acts. Each document is digitally signed and assigned a unique Internet Uploading Number (IUN). The application consists of concrete frontend and backend with different databases for security and perfomance reasons.

Related GitHub repositories:[edit | edit source]


Expected Results:[edit | edit source]

Rewrite the backend application in a modern framework

Create forms to write online the decisions and acts and produce fully metadata documents of structured data

Knowledge Prerequisites:[edit | edit source]


· Mysql

Mentors: Alexios Zavras,Panagiotis Kranidiotis, Diomidis Spinellis

Agora[edit | edit source]

Brief Explanation:[edit | edit source]

Agora is a 3-tier application for consists on a

Frontend PHP application in Yii Framework

Middleware API on Spring Framework

MySQL Databases on High Availability

This version of code was used by the Greek government from 2012-2014 as the main repository of public decisions,  RFP’s, contracts and invoices public procurement. Each document is digitally signed and assigned a unique Internet Uploading Number (IUN). Agora fulfill the workflow for a procurement by the time of the announcement till it’s payment.

Expected Results[edit | edit source]

Automation to the installation process.

Packaging to main linux distributions.

Creating national and international (ie europeans) profiles of workflow process.

Related GitHub repositories:[edit | edit source]


Knowledge Prerequisites:[edit | edit source]

PHP - Yii Framwork

Java - Spring Framework


Basic Legals about procurements

Mentors:Alexios Zavras,Panagiotis Kranidiotis, Diomidis Spinellis

Zeus[edit | edit source]

Brief Explanation:[edit | edit source]

Zeus is an open source e-voting platform (online service available at: https://zeus.grnet.gr/zeus/). It enables secure, verifiable elections, with client-side ballot encryption and anonymity guaranteed through cryptographic mixing networks (mixnets). Zeus has already been used in hundreds of elections with tens of thousands of voters.

Related GitHub repositories:[edit | edit source]


Expected Results:[edit | edit source]

Mixnet implementation and integration

Knowledge Prerequisites:[edit | edit source]

· Python

· C, C++

· Cryptography

Also possibly interested in Go, Rust

Mentors: Panos Louridas, Georgios Tsoukalas

Linked Economy: a framework for Economic Linked Open Data[edit | edit source]

Brief Explanation:[edit | edit source]

Linked Economy (http://linkedeconomy.org) provides a common understanding on what data are available and how they can be orchestrated to provide relevant insights on e-government topics. The project has included data from European and other governments and can be scalable to include any similar content from around the world (e.g. UNdata, a data access system to UN databases - http://data.un.org/). The Linked Economy platform provides an innovative and value-added resource base for research and education for information technologies in the field of public governance (e-government) employed by lawyers, social scientists and technologists

Related GitHub repositories:[edit | edit source]


Expected Results[edit | edit source]

The main extensions should focus in three directions: to analyse and semantically annotate new datasets according to the LinkedEconomy data model and to provide a richer set of online visualizations for our vast amount of data to extract and semantically annotate data that are included in downloaded pdfs

Knowledge Prerequisites:[edit | edit source]

· Knowledge Representation: XML, RDF, RDFS, OWL

· Query Languages: SPARQL

· Rules and inference engines: Jena Rules και Description Logic

· Semantic Web Frameworks: Jena και Virtuoso

· Triplestores: Virtuoso

· Services: Restful web services και SPARQL End Points

· Ontology development environments: Protégé

· Scalable Architectures: distributed architectures, noSQL, Linked Data

· Metadata manipulation & scripting languages: Java και PHP

· Search platform: Apache SOLR

· Database: Apache CouchDB

· Cloud Service: GRNET Cyclades (https://okeanos.grnet.gr/home/)

· Concurrent Versions System: Git και Bitbucket

· Issue Tracking Systems & collaboration: GitHub

Mentors: Michalis Vafopoulos, Ioannis Stamelos

Donation Box[edit | edit source]

Brief Explanation:[edit | edit source]

An open-source screen enabled donation box

The software has three items.

The Serial2DB which is a simple daemon written in python which listens on the serial port for messages from the Arduino which is connected to the coin acceptor and writes all entries to an SQL DB.

The wsServer which is a WebSocket server written in python which reads the SQL DB for new entries and then notifies any connected websocket clients of these. Additionally listens for any donations made and alters accordingly the SQL DB.

The Wordpress widgets and theme customizations. Which are used for offering an improved user experience based on the design assumption that the wordpress site is running on a 10" tablet. The theme is currently based on Influence and there are several widgets developed to enhance the sidebar. Several plug-ins needed for the current implementation and features are already under the plug-ins folder.

Related GitHub repositories:[edit | edit source]


Expected Results[edit | edit source]

Feature 1 - Improve Custom Wordpress theme

Feature 2 - Donation Box customizations in Wordpress as a plug-in

Feature 3 - P2P or Client - Server, P2P or Client - Server

Feature 4 - DonationBox online platform

Feature 5 - Hardening (Security improvements)

Knowledge Prerequisites:[edit | edit source]

Feature 1 - Wordpress, Javascript, CSS

Feature 2 - PHP, Wordpress

Feature 3 - Client-Server Communication, SQL, REST API (Preferably: Python)

Feature 4 - PHP, Wordpress, Javascript

Feature 5 - PHP, Python, Linux

Mentors: Panagiotis Kranidiotis, Kostas Papadimas, Dimitris Koukoulakis