Calls: Send in your ideas. Deadline April 1, 2024

Network Applications

Software application development projects based upon Internet technology.

This page contains a concise overview of projects funded by NLnet foundation that belong to Network Applications (see the thematic index). There is more information available on each of the projects listed on this page - all you need to do is click on the title or the link at the bottom of the section on each project to read more. If a description on this page is a bit technical and terse, don't despair — the dedicated page will have a more user-friendly description that should be intelligible for 'normal' people as well. If you cannot find a specific project you are looking for, please check the alphabetic index or just search for it (or search for a specific keyword).

A-A-P — tools for developing, distributing, and installing software

The A-A-P project intends to provide a series of tools for developing, distributing and installing software. The two main programs are aap (a replacement for make) and agide (the A-A-P GUI IDE).

The agide program provides a portable framework to combine existing programs. Agide provides interfaces between editors, viewers, debuggers, cross referencers, etc. These are used connect any editor to any debugger, without the need to implement every combination. Agide relates to many existing tools and adds the glue to make them work together.

A central element is the A-A-P recipe. It is a powerful replacement for Makefiles and shell scripts. The Aap program is used to execute the recipes. It can be used for building software, version control, maintaining a web site, installing ported software, and much more.

>> Read more about A-A-P

BlenderWeb — free 3D animation and compositing suite

There is currently no open source platform capable of delivering rich web content similar in scope and impact to Adobe Flash and Shockwave or Microsoft Silverlight. Creators and developers are tied to proprietary tools and software if they wish to create rich interactive content for online distribution and consumption. This creates a high barrier to entry in many countries the cost of Adobe software licenses can be more than a years salary for an artist --so only those individuals of wealth can make use of this communications medium.

This project is devoted to the development of the web plugin of the game engine, improve its security and resource utilization and add functionality, in general produce an end-to-end solution and open source platform capable of delivering 2d and 3d content of a richness and variety similar to that available in the propriety Adobe Flash and Adobe Shockwave plugins.

>> Read more about BlenderWeb

CP2PC — common programming interface for peer-to-peer systems

CP2PC (pronounced "copy to pc") develops a minimal programming interface to peer-to-peer (P2P) file-sharing systems. Client side applications can be built on top of this interface by other projects. In addition, the project includes development of a simple GUI client that integrates various file-sharing systems.

>> Read more about CP2PC

CUGAR — Implement a Wireless Access Point and a back-end

This project aims to develop and implement a (Wireless) Access Point and a back-end for it using only Open Source software components.

The Access Point (AP) together with the back-end makes secure environment for Closed User Group Services. This allows a secure connection between AP and the back-end when using a non-secure transport medium (like the Internet).

The whole system is being developed as an "appliance" and a back-end software package. AP itself will be implemented on small embedded systems in order to ease the deployment. The back-end (authentication, management, routing) can run on a generic UNIX system.

>> Read more about CUGAR

Dowse — Dowse is a smart digital network appliance for home based local area networks.

Dowse is a smart digital network appliance for home based local area networks (LAN), but also small and medium business offices, that makes it possible to connect objects and people in a friendly, conscious and responsible manner.

>> Read more about Dowse

FileSender — FileSender is a secure and private way to share large files with anyone.

FileSender is a self-hosted service that allows you to share very large files with anyone.

>> Read more about FileSender

FreeBSD-3G — network drivers for 3G cards on FreeBSD

The project started by improving 3GPP support for Option GT GPRS/EDGE cards, to provide a second serial channel to retrieve signal quality and other status info from the data card while being online. Starting off with the OpenMoko 3GPP implementation, this was quickly replaced with own development due to memory constraints on embedded systems. Later, similar functionality was added for data cards which use an internal USB-hub with several serial ports connected.

The project contains:

  1. development of a FreeBSD driver for data cards supported by the Linux hso driver;
  2. development of FreeBSD driver for nozomi type Option cards;
  3. improvements to, and open sourcing of, the 3GPP protocol daemon; and
  4. setup of Knowledge Base website.

Each of these individual subprojects is valuable on its own. Sub0hr-project 'Setup of wiki/website' would provide the Open Source community as a whole a needed central point for information on this topic. Building a new site is necessary to not only gather information but also process the various sources into a coherent source of information, providing more value than information presentation on its own.

>> Read more about FreeBSD-3G

FSF Priority — stimulating High Priority Projects of the Freedom Software Foundation

The Freedom Software Foundation high-priority projects list serves to foster the development of projects that are important for increasing the adoption and use of free software and free software operating systems.

The priority projects list shows areas where free software development needs to accelerate in order to stop users from being drawn to proprietary software and operating systems. It lists holes that aren't fully covered by existing projects.

NLnet's contribution will be used to support development sprints around the priority projects, including the project to produce free software drivers for network routers.

>> Read more about FSF Priority

JigLibJS — JigLib to JavaScript for use with WebGL

JigLib is an open source 3D rigid body physics engine. So far, most of the web browser implementations of this technology (including open source libraries such as Papervision3d and the ARToolkit) are reliant on closed source 3rd party plugins (Flash, Silverlight, Unity3D etc.). The project will create an open source, community driven port of JigLib to JavaScript for use with WebGL, thus providing a portable API for linking to other WebGL JavaScript libraries such as GLGE.

Within the project a demo application showcasing the potential of this library and of WebGL will be produced, this in order to stimulate interest and participation in the open source community. The major aims of this project are:

  • to prove the use of WebGL as a viable replacement for plugins.
  • to help with the implementation of WebGL in browsers by providing regression and performance test results.
  • to stimulate growth in the Open Source community around WebGL by giving them a library and an attractive Demo to work with.
  • to attract and encourage contributors to WebGL by placing all source code and documentation in the public domain using the BSD license for both code and documentation.
  • to stimulate the use of the open standard WebGL (instead of closed solutions such as Flash, Silverlight etc.) by the web development community.
  • to facilitate innovation in 3D physics based UI design and interactivity online.

>> Read more about JigLibJS

LogReport — tools for computer/network log file analysis

Log files are often treated like the unwanted by-product of IT activity, sitting somewhere in a dark corner of a computer system, examined only occasionally, usually in the case of after-the-fact reactive problem solving. LogReport aims to change this. These files contain the traces of computer activity, and by intelligently analyzing these traces, one can increase existing system efficiency and improve future system design.

The LogReport project serves a dual purpose: developing and maintaining Lire, an Open Source reporting and analysis software package, and serving as a nexus of documentation, ideas, and thoughts on the topic of log files and their potential applications.

There are quite a few specific tools for analyzing particular types of log files. However, LogReport's Lire is designed as a generic tool, with plug-in capability for handling a wealth of different types of log files and report integration features.

From 2000 till 2005, the activities of this project were bundled in the Foundation Stichting LogReport. Thereafter, the project continued on voluntary basis.

>> Read more about LogReport

Mail::Box — software for e-mail handling in Perl

Mail::Box is a module for the Perl programming language. This module can be used for automation of various e-mail related tasks. With support of NLnet, the module is promoted and improved.

>> Read more about Mail::Box

Meemoo — Meemoo: hackable web apps

Meemoo is intended to lowering the threshold for app makers - ideally everybody should be able to create web apps.

When people think of an app, thy do not think of something that one can open, hack, and change how it works. Meemoo will give everybody this freedom. Meemoo is a framework that connects Open Source modules, powered by any web technology - it is a browser-based modular dataflow/patching framework. It all happens on the web, so it is easy to share a hacked app by copying the source code.

The way that the data flows from module to module is defined and visualized by colorful wires. It becomes simple like that: If you can connect a video player to a TV, you can program a Meemoo app.

The project will also build a community site for sharing, forking, and creating with Meemoo apps. The site will also be open source, so schools and other organizations can set up their own open or closed version. The site will be built on Unhosted/ownCloud for maximum data portability.

>> Read more about Meemoo

Morphle — free and anonymous powerful but simple to use end-user website editing

Morphle is a project to stitch and glue together a large number of web 2.0 and 3.0 technologies. The principle technologies to be used will be HTML and javascript-tool-kits and the web-tools built into Squeak. And it will be through Squeak's web-tools that Morphle will be able to hide the former tools (HTML, javascript and the like) from the end-user. What will be achieved through this arrangement is, among other things, to provide the end-user with the ability to combine very easily web page parts such as snippets, widgets or components to create incredible web-sites. This tying together of these kinds-of-parts is often referred to as web mash-ups.

The second component of the Morphle project is to offer all of these tools through the Internet and accessed directly through the browser. Eventually, Morphle's hosting system will served-up from next-generation large scalable web-server (called Morphel) at very low costs.

This project is about putting an alpha release of a meta-website online. The website will offer free and anonymous powerful but simple to use end-user website editing based on state of the art component ecapsulation technologies in the hands of everyone.

>> Read more about Morphle

NILO — reference implementation of PXE-based network boot module

NILO wants to create an Open Source reference implementation of a PXE-based network boot module, with a footprint that is small enough to include in the EPROM on the most popular Network Interface Cards.

>> Read more about NILO

Parrot — virtual machine for scripting languages

Parrot is a virtual machine (VM) designed to execute bytecode for interpreted languages efficiently. Many modern programming languages do not translate programs into machine native instructions, but produce some intermediate bytecode which needs be interpreted by a virtual machine when the program is run.

Parrot will run the bytecode for the Perl 6 programming language, which is being developed. There is already a partial Perl 6 compiler which uses Parrot. But Parrot is also able to be the run-time environment for various other compilers, of which some already have demonstration implementations.

>> Read more about Parrot

Proxy App — Proxy appliance to utilize unused bandwidth networks

The "Generic Proxy Appliance" projects will develop and implement an (internet) proxy appliance helping to utilize unused bandwidth in (wireless) networks

A wireless community network, e.g. Wireless Leiden, can be used for various applications. First of all, it provides point-to-point communication between the users of the local the network: between individual users (using P2P, VoIP or VPN) or the user and some service provider which is directly connected to the network. Secondly, the network can be used as a Last Mile for the Internet access for both mobile and 'fixed' users.

With the current broadband services, there is unused bandwidth at any given moment in time. This project's goal is to develop an internet proxy appliance with additional features allowing to utilize unused bandwidth in (wireless) networks.

The proxy appliance will use Wireless Leiden infrastructure as breeding place for the prototype implementation.

>> Read more about Proxy App

PulseAudio — PulseAudio echo cancellation

The project aims to extend the PulseAudio sound server to support echo cancellation technologies needed to be able to do high quality VoIP conferencing.

With the growing popularity of VoIP and videoconferencing, the issue of echo cancellation on the Linux desktop is growing in importance. The Linux audio layer has long been a struggling beast with a lot of competing solutions, all of them with their own set of flaws. Thanks to the increased resources put into the media layers by Linux distribution vendors, it seems that a combination of ALSA and PulseAudio is emerging as the standard sound system layer, with GStreamer being the de-facto application writers interface. Therefore the natural place to put a system wide echo cancellation would be in the Pulse Audio sound server.

Development tasks:

  • Implement echo cancellation ALSA test application
  • Implement PulseAudio audio filter infrastructure
  • Implement echo cancellation for PulseAudio
  • Enable echo cancellation in Empathy Desktop linux

Run by Collabora Multimedia.

>> Read more about PulseAudio

Sabayon — creating a fast binary package manager using relational databases

Sabayon is a free, open source, GNU/Linux distribution aimed to compete with Ubuntu in terms of hardware support, features and packages availability. The aim is to create an unpresended smart package manager.

The challenge is

  • creating a fast binary package manager (using relational databases),
  • with strong AI (allowing just 2/3 developers to maintain about 12000 packages),
  • able to solve most of the user-side issues automatically (such as API/ABI breakages, missing libraries, database corruptions, automatic kernel dependencies for external drivers, inverse dependencies),
  • able to provide users a web2.0-alike experience by allowing them to share, extend, manipulate any content connected to packages (like screenshots, URLs, images, videos, rankings) directly from their system,
  • able to provide a transparent client/server infrastructure to remotely manage infinite Sabayon installations,
  • able to provide hot packaging formats, like Smart Packages (multiple packages packaged into one) and Smart Applications (unpack & run applications).
  • All this while keeping a complete Portage compatibility and cooperating tightly with Gentoo Linux developers in bug hunting and feature proposals.

>> Read more about Sabayon

TimeWalker — tools for visualising huge amounts of log data

Timewallker is a multi-focal time-lens for visual data-mining. Its application domain is information visualization, which is characterized by handling huge data sets with unkown correlations and by real-time zooming within multiple graphical and textual representations. TimeWalker is primarily intended to be a useful instrument for people like system-administrators that are confronted with unmanageable amounts of logging data.

>> Read more about TimeWalker

VDD — project virtual operating system instances on arbitrary terminals

Virtual Distro Dispatcher is a distributed system which aim is to project virtual, fully operational operating system instances on arbitrary terminals. Client terminals can be obsolete PCs or energy saving thin clients (such as mini-ITX) managed by a powerful, multiprocessor (and possibly clustered) central system. The VDD gives users a possibility to enjoy their own favourite operating systems, including those that are not Open Source, possibly at the same time, simply by switching from one to another, on each single thin client, on demand, across a network.

Thin clients are interfaces to proper and isolated machines, that can be made to measure for whatever need and in whatever number. This is completely transparent to users, who, even from an obsolete machine, can select a particular machine with certain characteristics and then do absolutely everything they would do on such a machine as if it was physical and with its virtual performance.

Contrary to other systems, like LTSP (Linux Terminal Server Project) the VDD offers not only the host operating system to thin clients, but projects virtualized guest systems, i.e. fully operational and independent machines.

>> Read more about VDD

VirtNet — network stack virtualization for FreeBSD

Traditionally, UNIX operating systems have been equipped with monolithic network stack implementations, meaning all user processes have to cooperatively share a single networking subsystem. The introduction of the network stack cloning model enables the kernel to simultaneously maintain multiple independent and isolated network stack instances. Combined with forcible binding of user processes to individual network stacks, this concept can bring us a step closer to an efficient pseudo virtual machine functionality which opens new possibilities particularly in virtual hosting applications, as well as in other less obvious areas such as network simulation and advanced VPN provisioning. This project is focused on design, implementation and performance aspects of experimental clonable network stack support in the FreeBSD kernel.

>> Read more about VirtNet