Sunday, February 8, 2009

FOSDEM 2009, Day 1

Since I live in Europe now, and especially since I live about 20 minutes by train from Brussels, I decided to go to FOSDEM 2009 this year. This was good for me; I actually haven't been to a conference since 2002, so it was interesting to see how this was run. It was also good to see what is going on in the Free Software world outside of my little sphere, and maybe get me excited in some new projects. I'll write two posts with my notes, one from the first day (Saturday, February 7), and a second one about Sunday, February 8th. The notes are a little dry, so I might consider doing a third post with my overall thoughts.

Saturday, Feb 7
---------------

Relicensing SunRPC code
------------------
Speaker: Simon Phipps, Sun
Problems of success:
- Some old code in Linux
- Open Network Computing Remote Procedure Call - 29 years old
- Most liberal license 29 years ago
- Use the code, but no profit
- Debian noticed - asked Sun to re-license
- Difficult to re-license because it is so old
- As of a couple of weeks ago, got permission to re-license

Key Note
------------
Speaker: Mark Surman, Mozilla
free. open. future?
- What is Mozilla for?
- Common: build Firefox, Thunderbird, Mozilla
- Mission statement
- guard the open nature of the Internet
- build open-source software
- promote innovation
- Roadmap for 2010
- openness and participation
- data safer and more useful
- mobile
- firefox
- Roadmap for 2060
- openness and participation
- ??
- How far can free and open go?
- 2003
- Web in danger
- IE 98% share - monopoly
- online apps only for IE
- freedoms matter
- now - IE < 70%
- letting consumers change their experience, let's users "hack"
- conceptual map of free software can go far
- What's next?
- 2009 - big for free software and mobile
- mobile battle
- how can open win?
- hardware (like OpenMoko)
- software
- web
- network
- cloud
- pricing
- permissions
- Conclusions
- Need better conceptual map for the mobile space and beyond
- Strong values, freedom beyond just code
- free software, that people want to use
- Users as hackers, anyone can bend anything
- What else?
- pick something in the map
- open source and education (build into university curriculum)
- Franklin street statement
- mapping freedom to web services

Debian
------
Speaker: Bdale Garbee
- Contributor to Debian since 1994
- Debian Project
- Association of individuals
- Why does it matter?
- Freedom
- Stable, functional community despite appearances
- External appearance sometimes skewed because of a vocal minority
- Large number of architectures and packages
- Uniform process for quality testing, bug reporting, open to
contributions
- Many derivative (downstream) distributions
- History
- Started by Ian Murdock
- 1993 - 0.01
- 1994 - 0.91
- 1995 - 0.93rc5
- 1997 - Debian Social Contract
- 1998 - 2.0 released
- Debian Linux Manifesto
- Developed in the spirit of Linux and GNU
- Promise to put distribution together and maintain it
- Design process is open to ensure high quality
- Linux is not a commercial product, and never will be one, but can
compete with commercial products
(this doesn't make much sense nowadays)
- Debian Social Contract
- 100% free
- Give back to the communities
- Don't hide problems
- Prioritize users and free software
- Public Bug Tracker
- First uniform way to report bugs
- Since 1994
- Open system, anyone can open or close bugs
- Email in, web out
- Policy Manual
- Set of standards
- Tools that assist in packaging
- Constitution
- Organizational Structure
- Division of power
- Individual developers have the most power
- Observations
- Values before Vision before Strategy before Objectives
- Internal social contract potentially as useful as an external one
- Future
- Lenny
- No radical changes
- Attract new contributors
- HP
- stays connected to Free Software through Debian

OpenWRT: UCI and beyond
-------------
Speaker: John Crispin and Felix Fietkau
- UCI: Unified Configuration Interface
- Designed originally for OpenWRT
- Simple configuration system to cover 90% of cases
- Human readable/writable
- Based on typed sections, option/value pairs, and lists
- First implementation in awk
- SNMP access available
- API for C, shell, Lua
- Used (and is requirement) for all OpenWRT base packages
- LuCI
- MVC (Model, View, Controller) webapp
- OpenWRT configuration interface
- Validation framework
- Data storage
- Configuration split by packages, stored in /etc/config
- Can access through UCI pointers
- e.g. uci get network.lan.ipaddr
- Changes stored, then committed/reverted
- If you make a mistake, can just reboot the appliance to get back old
configuration
- Other backends planned (databases, etc)
- Overlays supported (commit/revert example above is example)
- API
- Shell access (uci command)
- C
- Simple wrapper
- API with limited functionality
- Regular C API
- Direct access to data structures
- libucimap
- Automatically converts configuration files to/from C data structure
- Lua binding
- Efficient scripting
- What's next?
- More application support
- Automatically generated configuration interfaces based on config files
- Remote backends
- Locking for simultaneous access

Amarok
------
Speaker: Sven Krohlas, Ian Monroe, Lydia Pintscher
- Amarok 2.0
- Context information for music - central, moved to middle in Amarok 2
- Plasma based
- New playlist on right-side
- Lots of different layouts possible
- Lots of new drag-n-drop functionality
- Podcasts from BBC
- Jamendo integration - CC licensed music
- Audiobook integration
- NPR plugin
- Radio station from friends?
- Amarok 1.4 used DCOM (interprocess communication)
- Amarok 2.0 Javascript implementation called qtscript
- Javascript QT binding
- Script console
- QT API, classes relevant to Amarok
- Javascript language is OK for development
- Integrating services into Amarok
- Scripting interface is powerful
- Lyric scripts
- Service
- Example
- Fetches lyrics - charts with only free music
- Small XML file describing data
- Spec file, tells icon, author, comment, service
- Code file
- Levels (display levels)
- Downloader class

Fedora
------
Speaker: Max Spevack
- Personal
- 4.5 years at RedHat
- Manage RedHat's global community team
- Goal of Fedora?
- Increase open source development community
- Potential population is inverse pyramid
- Top-level is users
- Next level will search and solve their problem (help themselves)
- Next level turns the user into a participant of a community (help others)
- The last gap is difficult - Fedora wants to focus there
- Fedora Four Foundations
- Freedom
- Strong commitment
- RedHat building business around community
- All the code is licensed in an OSI approved license
- 2/3 packages are maintained by community
- Release Engineering processes to make community engaged
- Distribution composition - pungi has a nice API - easy to use
- First
- Innovative community
- Examples
- plymouth - uses KMS
- nouveau driver
- virtualization
- Pulseaudio
- Friends
- Fedora Infrastructure team
- Entirely volunteer driven
- Open
- System Admin team
- New contributors
- Fedora Scholarship
- Active in open source, starting at university
- Features
- Improve Fedora QA
- Getting stuff vs. building capacity to allow people to do things
- Too much time getting the distro done, not enough time maintaining
the community
- Fedora Test Days
- Fedora 11
- 20 second startup
- DeviceKit alpha
- ext4
- DeltaRPM
- MinGW cross-compile
- Python 2.6

Hacking with Modular Hardware: the BUG
--------------------------------------
Speaker: Ken Gilmer
- Bug labs
- BUG
- Electronic building blocks for personalized hardware devices
- Examples
- GPS alarm clock (wake up based on location instead of time)
- Stereo camera system
- Hardware is all open
- Lower barriers to innovation
- Use Linux, Java, OSGi
- Base Unit
- ARM CPU, 128MB RAM, 2GB SD
- LCD
- Buttons - software programmable
- 2.6.27 kernel
- Basic interface
- Battery
- Modules available
- Accelerometer
- Touch screen LCD
- Wifi
- Audio
- von Hippel - All hardware interfaces exposed
- Poky Linux
- Includes Gnome Mobil
- Can put custom images
- OSGi
- Standard to disconnect services from implementation
- Specification for components to talk to each other
- Notifies applications when modules are added/removed
- Abstract services
- Different modules can provide the same service
- Dragonfly SDK
- Like Eclipse
- Website to publish applications
- OpenEmbedded tools for Eclipse
- BitBake Commander for building images

Intel's Graphics Projects for the Year
--------------------------------------
Speaker: Eric Anholt
- Lots of good progress, but lots of problems
- vblank broken
- No GEM support
- OpenGL 2.0, vertex shaders don't work
- High end applications are slow with GEM
- vblank
- Applications want to wait for vblank
- Copy back to front
- Copy part of back to front
- GL gives you
- Wait for n vblanks
- X gives you nothing
- Which head should we vblank?
- GL doesn't know which head to vblank either
- What happens when one of the heads turns off?
- Too slow
- Doing it right
- Schedule vblank swap ioctl
- Cancel vblank swap ioctl
- GLSL
- Mesa GLSL is really a proof of concept
- Written by a graduate student
- Mesa GLSL only implements part of GLSL
- Mesa GLSL lacks optimization
- Mesa GLSL IR is a poor mapping onto current hardware
- Written against 3 year old hardware
- New compiler needed
- In progress
- Implements all of GLSL
- New IR for modern hardware
- Designed for optimization
- Pull some Gallium ideas into Mesa (incrementally)
- Kernel Mode Setting
- Works today if you are lucky
- Slow performance in the console
- Detect hotplug interrupts
- Media
- MPEG2 support implemented today
- More codecs in progress
- Convert XVMC to GEM
- Memory Management
- GEM is good
- Performance issues on older hardware
- Flushing is painful for large applications
- Can do better by keeping objects pinned

Augeas
------
Speaker: Raphael Pinson
- Configuration management
- Sitewide configuration
- LDAP
- Database
- Puppet
- Local configuration
- Editing configuration
- Most configuration files in Linux are text files
- Easy to edit with an editor
- Human edits can conflict with graphical tool editing
- Approaches to editing
- Keyhole - one-off, like sed, awk, etc.
- Greenfield - configuration from a database, centrally managed
- Templating - configuration from database, fill in machine specific
details
- Missing pieces
- Handle configuration data directly
- Policy delegation
- Remotable API
- Design goals
- Deal with configuration data in current place
- Expose an abstract tree view of configuration data
- Preserve "unimportant" data (comments, etc)
- Describe new formats easily and safely
- Language neutral implementation
- Focus on configuration editing, and not interpretation
- Bidirectional languages
- Transform a configuration file into a tree via a "lens"
- Modify tree
- Write the tree back to the configuration file via the "lens"
- API
- init/close
- get/set
- match
- insert
- rm (a subtree)

No comments:

Post a Comment