150 likes | 410 Views
Biju Chacko www.xfce.org. Freedesktop.org. Introduction. Who am I? Disclaimer These slides are based on those used by Havoc Pennington to give a talk at GUADEC. X Platform. Win32 Platform OS X Platform X/UNIX Platform. Projects involved in X platform. XFree86 X.org freedesktop.org
E N D
Biju Chacko www.xfce.org Freedesktop.org
Introduction • Who am I? • Disclaimer • These slides are based on those used by Havoc Pennington to give a talk at GUADEC
X Platform • Win32 Platform • OS X Platform • X/UNIX Platform
Projects involved in X platform • XFree86 • X.org • freedesktop.org • Other X efforts • GTK+, Qt • GNOME, KDE • VCL, XUL, WINE
freedesktop.org Background • From the mission statement: freedesktop.org was formed in March 2000 to encourage cooperation among open source desktops for the X Window System. • Highlights: • Open source only • X Window System only • Broad goal "encouraging cooperation"
Activities • Keep specifications, proposals, and standards in a central location. • Informal forum for desktops to coordinate specifications and code. • CVS, web, and mailing list hosting for interoperability projects.
Why? • Developers and ISVs should be able to use the development environment of their choice without limiting their userbase to users of a particular desktop environment. • Users should be able to choose the best applications, regardless of their desktop environment. • Interfaces between applications should be well-documented and well-defined, so they can be supported compatibly over the long term. (More ...)
Why? (Contd) • Modularity, documentation - it's just good engineering. • Choice is good; users and developers should be able to choose the environment and applications they like. • Fragmentation is bad; choices should not come in bundles. If I choose Windows, I should not have to choose Internet Explorer.
Could we just pick one? • What if we had only one major desktop environment? • Hasn't happened in last 4 years; not looking likely anytime soon. • WINE, OpenOffice, Mozilla, and many Qt/GTK+ applications would still exist. • People would not bother to document and specify many things that should be documented and specified. • We would lose a lot of smart developers. • All our eggs in one basket, with no motivating competition.
Can vendors solve the problem on their own? • What if vendors do integration, from free software pieces? • Leads to lots of patches/forking • Worse, patches/forking in API/ABI • In many cases just not feasible due to amount of code involved • Means that open source apps can't use the platform
XEMBED Protocol "System tray" protocol Thumbnail/preview system Menu system Message bus IPC system (D-BUS) Icon themes Startup notification EWMH Complete or In-progress • X Window System and ICCCM • New font system (fontconfig/Xft) • Clipboard behavior documentation • Drag-and-drop specification • Desktop entry specification
~/Desktop, ~/Documents, etc. Sound/multimedia framework (including sound server) IPC framework VFS (same URIs known to all apps) Accessibility UI guidelines? Work needed • Render engine and corresponding X extensions • Other X extensions • Hardware abstraction library • Registry of cut-and-paste and DND types • MIME system • Configuration/manageability framework • Help indexing
Formal standards • As specifications mature and we have two interoperating implementations, ideally they would be rewritten more rigorously and formally approved by Free Standards Group, IETF, or other standards bodies. • FSG efforts are underway. Core desktop developers lack time to rewrite and formalize specifications, dedicated standards body employees and volunteers needed.
How can you help? • Demand that applications be orthogonal to the environment. Hold your distribution, desktop environment developers, etc. accountable. File bug reports! • Help us rearrange the organization of the community to encourage building the platform as it should be. • If you have the knowledge, help out with code and specifications. • If you have the influence, encourage resource allocation to address platform issues. • Sponsor focused platform summits between key developers in a given area.