Portal:Contributing/Coding

Jump to: navigation, search
Icon-merge.png This article or section should be merged with Portal:Development/Contribute !
You are welcome to edit this article, but please refer to the discussion page to complete the merge as soon as possible.
If you can code and want to contribute to openSUSE, you'll find something to work on here.

General

openSUSE News/Planet on Android

  • Description: openSUSE news and planet are a great source of information on what is happening in the project, and what the contributors are upto. It would be great to have an Android app, which would notify users about new posts on these platforms. There could also be an option to watch posts by specific authors, and view by languages. A good interface would be integral to the app.
  • Contact Person:Manu Gupta
  • Skills: Android
  • Skill Level: Easy - Medium


Open Build Service

Port bento to twitter bootstrap

  • Description: The openSUSE bento theme was supposed to be the great UI unification of all our web-pages. But it only came so far as adding a unified theming and some UI elements, most notably the top bar. Nowadays there is a great collection of HTML UI "libs" like twitter bootstrap that achieve way more. If we could port bento over to bootstrap we would reach the initial goal we set out to reach. The mentors would prefer to use the Open Build Service (OBS) as reference implementation for this project.
  • Contact Person: Henne Vogelsang, Stephan Kulow
  • Skills: HTML, CSS, Javascript, Ruby on Rails, GIT
  • Skill Level:Medium


Open Badges for the Open Build Service

  • Description: Mozilla has a nice badge system based on open standards and an open API. There are several opportunities to issue badges in the OBS that show packaging skills and distro management skills. The student would have to implement a badge issuer system like badges engine or similar in the OBS API/Webui
  • Contact Person: Henne Vogelsang
  • Skills: HTML/CSS, Javascript, Ruby on Rails, GIT
  • Skill Level: Hard


Windows support using NSIS and Nuget/Chocolatey

  • Description: Popular Windows installer SDKs are in fact Open Source and there are attempts like Chocolatey NuGet to bring the comfort of package management to the Windows platform. Read more about this feature proposal on openFATE.
  • Contact Person: Fridrich Strba
  • Skills: HTML/CSS, Javascript, Ruby on Rails, NSIS, PowerShell
  • Skill Level: Medium

Bitbake support in Open Build Service

  • Description: Bitbake is a build system that allows to build packages easily for both rpm and deb based distributions. On top of it provides means for inheritance which makes packagers life even easier. Project goal is to add support for this kind of recipes into Open Build Service. It would require diving into internals of OBS on one hand, bitbake on the other and some basic understanding of how packaging works.
  • Contact Person: Michal Hrusecky
  • Skills: Perl, Python, basics of packaging
  • Skill Level: Hard


Cross-distribution topics

The openSUSE project is proudly pushing cross-distribution collaboration.

Compositor Colour Management

Colour Management has to be easy for casual developers and automatic for users. To get there it is an good idea to have all applications colour corrected inside the window manager. On the other side graphics applications, want to do own colour management and should be able to say a window shall not be colour managed. To do so easily exists the X Color Management spec and the implementation of this protocol in libXcm.

The ICC based colour correction is easy for compositing window managers, as they support mostly shaders. Shaders run on the GPU and allow for a very fast and efficient colour correction.

The project targets at providing colour management inside a compositing window manager of your choice. The protocol part to be implemented is the Baseline spec with _ICC_COLOR_REGIONS and additional the _ICC_COLOR_PROFILES atom.

This implementation prepared a easy transition into Wayland compositor colour management, which will as well be window based.

Required knowledge: OpenGL, GPU shaders, Oyranos, C

Skill level: intermediate

Contact Person: Kai-Uwe Behrmann + someone from the according WM project

Gtk Front End to Oyranos

The Oyranos project is a cross desktop and cross OS colour management system (CMS) to provide easy to use and while robust colour management services to applications. The main goal of Oyranos is to provide colour management without user interaction. But in some situations and especially experts might want to configure and tweak the various settings manually.

Front ends exist in Qt and for KDE. For Gtk based Desktop Environments it is currently only possible to use the Qt front end. For a better appearance and integration it makes sense to provide a native Gtk GUI for settings and configuration.

Required knowledge: Gtk, Oyranos, C, good communication

Skill level: intermediate

Contact Person: Kai-Uwe Behrmann

OpenICC Colour Configuration Data Base

Users, who configure their colour management system (CMS) behaviour and devices, want to share these settings on one host without any intervention among installed CMSes. The project will introduce the OpenICC data base into CMSes like ArgyllCMS, Oyranos and colord and replaces existing own DB access code.

device DB example: http://www.freedesktop.org/wiki/Specifications/icc_meta_tag_for_monitor_profiles

existing code: http://openicc.git.sourceforge.net/git/gitweb.cgi?p=openicc/openicc;a=tree

Required knowledge: C, good communication

Skill level: intermediate

Contact Person: Kai-Uwe Behrmann


Wayland Input method protocol support for Fcitx

  • Description:

The fcitx is a cross desktop input method framework, aim to provide native support for different desktop/environment.

Input method communicates with application via some IPC protocol. In wayland, input method need to talk with client (a.k. application) by input method protocol provided by wayland. As for application changes need to be done on toolkit side, while similar changes also need to be done on the input method framework side to support international character typing under wayland.

Required knowledge: wayland, C

  • Contact Person: Xuetian Weng
  • Skills: C, Wayland
  • Skill Level: Medium

System Management

Virtualization

Improve libxenlight driver in libvirt

The upstream xen project has slowly developed a replacement for the aging xm/xend toolstack called libxenlight (or libxl). In Xen 4.2, the libxenlight toolstack reached sufficient maturity to become the default toolstack, and the legacy xm/xend toostack was marked deprecated and will be completely removed in a future xen release. Since the inception of libvirt, it has supported the legacy xen toolstack. libvirt 1.0.1 introduced support for the Xen 4.2 libxenlight toolstack, but this driver (referred to as the libvirt libxl driver) is missing several features wrt the legacy xen driver.

The goal of this project is to improve feature parity between the legacy xen driver and the new libxl driver. Some examples include support for migration, PCI passthrough, SMBIOS information, and lock manager integration.

Contact Person: Jim Fehlig

Required knowledge: C

Skill Level: Medium