Feel free to visit the website for the 'FOSS Aalborg' conference: http://www.foss-aalborg.dk Thank you DotSrc.org for mirroring the videos: * Mads Doré - FOSS as a business case Since the summer of 2007 DoréDevelopment have changed from a regular consultancy business within proprietary embedded software development into one of the largest independent development departments within embedded Linux on customized platforms in Denmark. Today 70-80% of DoréDevelopment turnover is based on FOSS (Free and Open Source Software) and DoréDevelopment is working hard to keep and expand our FOSS based business. In the merge from working with ordinary proprietary embedded software the whole business-case had to be reinvented and on a large number of business agreement issues DoréDevelopment had to fight battles against unrealistic perceptions of FOSS and product development based on FOSS. Mads Doré will talk and circle around FOSS based business, customers perception of FOSS and the pitfalls learned by DoréDevelopment during the merge to a FOSS based business. * Peter Toft - Hands-on FOSS development tools A quick introduction to Doxygen Working with source code is always a battle between "getting the work done" and maintainability. One essential part of maintainability is code documentation. It is a pain to write documents about code structure, since the document will nearly often be outdated relative to the actual code. A very nice way to doing code documentation is to use the Doxygen tool, which supports coding in C++, C, Java, Objective-C, Python, IDL, Fortran, VHDL, PHP, and C#. By adding a few addititional "tags" in the source code, then Doxygen can extract function headers. extract code documentation, and present the code structure in a very nice form - typically HTML. The best thing is that the documentation can be updated according to the latest code changes simply by running Doxygen on the command line of your Linux/BSD box. During the presentation Peter will demonstrate examples of how to use Doxygen for several code-examples. Catching the bug in C/C++ code using automated tools Writing C/C++ code on a UNIX computer such as Linux is very open - meaning that the developer is able to make lots of suffisticated memory access fast and easy. History has also shown that the high degree of freedom also implies that memory violations in C/C++ occurs regularly - some are obvious to spot at runtime, while others are subtle - and very hard to find. In the talk we look more into systematic approaches to catch memory violations at runtime using tools like Valgrind/Valkyrie, Purify, and Insure++. It can be noted that Valkyrie and the graphical front-end Valkyrie are open source programs, while Purify and Insure++ are commercial closed source programs. * Martin von Haller Grønbæk - Licenses and myths The arguable most discussed aspect of open source licensing is that of copyleft. In certain situations the use of open source code will have the effect that the licensee is obligated to allow other access to licensee's own code under the same open source license terms. However important copyleft is to the promotion of open source both as ideology and as business model, the concept is ingenious but also highly complex and often difficult to apply in concrete situations. This presentation goes beyond the theory of copyleft to address applied copyleft. In particular the following questions are addressed. When is code modified to an extent that the code is consided a derived work covered by the copyleft provision? When does linking between different classes of code create an entire work that will have to be released under an open source license with a copyleft provision. When is a work distributed, propagated or conveyed with the result that the obligation to release the code under the copyleft license is triggered? Are copyleft provisions enforceable? How will they be enforced and by whom. To what extent can non-compliance with copyleft provisions lead to the payment of damages or other types of compensation and who are the claimants to be compensated? What are the differences between the application of copyleft in GPL v.2 and v.3 and in other hereditary open source licenses? * Esben Haabendal - Hands on with Git Git is an open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Every Git clone is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server. Branching and merging are fast and easy to do. Git is used for version control of files, much like tools such as Mercurial, Bazaar, Subversion, CVS, Perforce, and Visual SourceSafe. This presentation will take you on a guided tour in the magical land of git, showing some examples of how to use it, touching some of the reasons git might be preferred over alternatives, and hopefully inspire more people to tap into the power and potential that git offers software development and developers. * Henrik Lund Kramshøj - Security Tools Software quality is strongly connected to the security of production quality applications. In this presentation a number of tools that can improve overall software quality and security are presented. The presentation will start by listing categories of security tools for development and then move into examples of tools that have helped actual applications. The goal for this presentation is to inspire developers to produce higher quality software. The last line of defense which is runtime protection is also presented with examples from Java Virtual Machine, OpenBSD string functions and Mac OS X sandboxing. * Patrik Lindergren - Hard Real Time on Embedded Linux Modern embedded systems are becoming more and complex, but the project time and time-to-market are not increasing. Linux is becoming more and more the natural choice as the primary Embedded operating system, due to its extensive range of application and protocol support. In many embedded products which have traditionally been using Real-time operating system, which requires different levels of real time capabilities, this can be now days achieved by Linux. Patrik Lindergren will present different technologies to achieve real time capabilities in Embedded Linux. * Martin Hansen - eCos: The Open Source Real Time OS For Embedded Systems eCos is an opensource RealTime Operating System (RTOS), which differs in many ways from General Purpose OS's (GPOS) like Linux and windows. Besides the GP/RT part, the benefits of using eCos in an embedded device is size and not least configurability. This presentation will explain some af the main differences between a GPOS and an RTOS like eCos. I will give my definition of "Realtime" claiming this to be the most correct one ;o) It will also give an fast overview of the eCos arcitecture, and how the configuration tool works. * Henning Brauer and Sven Dehmlow - Getting Code Right And Secure, The OpenBSD Way Secure programming is simple: Don't make mistakes. Now of course that doesn't work out in practice. But one can get close. Security is mostly a side effect of quality. We'll show you how to write good, simple, high quality code, and what not to do. On top, if you account for own failure and apply techniques like privilege dropping or privilege seperation, chances of exploitable bugs are low. And the best part: you don't need to waste time at color-of-choice-hat conferences. * Dr. Michael Lauer - Open Embedded Writing software for mobile environments is hard. Building software for mobile environments is even harder: You will encounter a plethora of build systems, hard-coded assumptions about the target platform, upstream authors completely ignoring cross-compiling, as well as manual and duplicated work everywhere. The award-winning OpenEmbedded project consists of a metadata repository and a build utility that gets your embedded project up to speed as fast as possible. With OpenEmbedded, you can build, test, and deploy software; starting from a single software package up to a complete flashable file system image. OpenEmbedded supports dozens of embedded architectures, multiple packaging systems, automatic dependencies, build time regression tests, and much more to automate recurring tasks. OpenEmbedded has been adopted both in commercial as well as non-commercial projects, such as OpenZaurus, OpenMoko, OpenDreambox, and is being heavily used in R&D of companies such as Intel, AMD, TI, etc. This presentation will give an overview about the problems when building software and show the OpenEmbedded approach to solve these. It will discuss the basic components of OE and present how to use and extend it for in custom projects. The above descriptions may be distributed freely (public domain).