source: presentations/dws07/dws07.tex@ 317

Last change on this file since 317 was 301, checked in by ktk, 18 years ago

Again some additions

File size: 13.6 KB
Line 
1%% LaTeX Beamer presentation template (requires beamer package)
2%% see http://latex-beamer.sourceforge.net/
3%% idea contributed by H. Turgut Uyar
4%% template based on a template by Till Tantau
5%% this template is still evolving - it might differ in future releases!
6
7% Voyager presentation for Developers Workshop 2007
8% Adrian Gschwend
9
10\documentclass{beamer}
11% Handout:
12%\documentclass[handout]{beamer}
13
14\mode<presentation>
15{
16\usetheme{Warsaw}
17\setbeamercovered{transparent}
18}
19
20\usepackage{amsmath,amssymb}
21\usepackage[latin1]{inputenc}
22\usepackage{times}
23\usepackage[T1]{fontenc}
24
25\beamertemplatetransparentcovereddynamic
26
27%\logo{\includegraphics[height=0.5cm]{dws06.png}}
28
29\title[netlabs.org - The Voyager Project]
30{netlabs.org - The Voyager Project}
31
32\subtitle
33{Where Are We Now?}
34
35\author[Adrian Gschwend]
36{Adrian~Gschwend}
37
38\institute[netlabs.org]
39{
40netlabs.org - Open Source Software
41}
42
43\date[07.07.2007]
44{Developers Workshop 2007, Amsterdam, Netherlands}
45
46\subject{OS/2 and eCS development}
47\keywords{OS/2 eCS eComStation Voyager}
48
49% \AtBeginSubsection[]
50% {
51% \begin{frame}<beamer>
52% \frametitle{Overview}
53% \tableofcontents[part-1]
54% \end{frame}
55% }
56
57
58\begin{document}
59
60\begin{frame}
61\titlepage
62\end{frame}
63
64\begin{frame}
65\frametitle{Outline}
66\tableofcontents[hideallsubsections]
67\end{frame}
68
69\section{History}
70
71\subsection{The Journey}
72\begin{frame}[allowframebreaks=0.6]
73\frametitle{The Idea}
74The Story so Far\ldots
75\begin{itemize}
76 \item Long process of thinking about the future for several years
77 \item First idea with Kernel of MacOS X in Summer 2004
78 \item First presentation of that idea at Developers Workshop 2005 in Dresden
79 \item Reconsideration of this idea because it doesn't solve the main problem: Desktop
80 \item New idea with OpenGL based Desktop with well known toolkits, developed at SYSTEMS fair in Munich
81 \item Talks to various people and first presentation of that idea at
82 Warpstock Europe 2005 in Dresden
83 \item Presentation of first concept and design studies at Developers
84 Workshop 2006 in Biel, Switzerland
85 \item License decision during Summer 2006
86 \item First 0.1 release of \textit{The Design of Voyager} released to the
87 public for Warpstock Canada 2006
88 \item Coding from various site, namely Chris Wohlgemuth on NOM
89 \item Design studies for GTK+ on OS/2 by Dmitry
90 \item Happy Hacking in Wintercamp 2007
91 \item No more progress on the DOV document because Adrian was in long holidays\ldots
92 \item but, progress on the projects itself, thanks to everyone!
93\end{itemize}
94\end{frame}
95
96\begin{frame}
97\frametitle{Voyager (R)evolution}
98\begin{itemize}[<+->]
99 \item Development of Voyager should be possible on many platforms, starting on
100 eCS
101 \item Support for the most popular Unix-like systems is required
102 \item Support for Windows is a must
103 \item eCS developers should be motivated to use SOM for new ideas because
104 code can be partially reused
105 \item Users can continue to use eCS as we know it today and still get new features
106 \item Part-by-part replacement for smooth migration
107\end{itemize}
108\end{frame}
109
110\begin{frame}
111\frametitle{The Vision}
112There is more to do\ldots
113\begin{itemize}[<+->]
114 \item A team of interested developers might start working on an OS/2 compatibility layer for Unix-like systems
115 \item In long term we need a new kernel (discussion is open, see kernel
116 presentation at DWS 07)
117 \item Most of the OS/2 coders don't like the Linux design so other options are preferred
118 \item Final goal: our own distribution based on existing and new software
119\end{itemize}
120\end{frame}
121
122\section{The Voyager Project}
123\subsection{Introduction}
124
125\subsection{Design of Voyager}
126\begin{frame}
127\frametitle{Voyager Components, now}
128\begin{itemize}[<+->]
129 \item Netlabs Object Model (SOM)
130 \item Voyager Desktop (WPS)
131 \item Cairo (GPI/GDI)
132 \item GTK+ (GUI Toolkit, PM)
133 \item Triton (Multimedia Subsystem, MMPM/MMOS2)
134\end{itemize}
135\end{frame}
136
137\begin{frame}
138\frametitle{Voyager Components, next steps}
139\begin{itemize}[<+->]
140 \item Proper security concept
141 \item Neptune (Window Manager for Cairo and Xlib)
142 \item OpenGL based Cairo backend
143 \item Xorg OpenGL device drivers (no Xlib necessary in mid-term)
144\end{itemize}
145\end{frame}
146
147\section{Voyager Components}
148\subsection{Under Development}
149
150\begin{frame}
151\frametitle{Netlabs Object Model}
152\begin{itemize}[<+->]
153 \item SOM is a binary compatible object model, no need to recompile objects (unlike on GNOME for example)
154 \item There are some design documents from IBM itself (published in ACM)
155 \item There is quite some documentation available written by former IBM employees
156 \item Chris Wohlgemuth started to re-implement the concepts under the name NOM
157 \item This is the base for a WPS like desktop
158\end{itemize}
159\end{frame}
160
161\begin{frame}
162\frametitle{NOM Design}
163%\begin{columns}
164%\column[T]{5cm}
165\includegraphics[width=8cm]{images/SOMClassMgrObject-layout.pdf}
166%\column{5cm}
167%Simplified design of the Xorg OpenGL backend (taken from official docs), Xlib stripped out
168%\end{columns}
169
170\end{frame}
171
172\begin{frame}
173\frametitle{Netlabs Object Model}
174Things that work right now:
175\begin{itemize}[<+->]
176 \item Binding files creation (IDL compiler)
177 \item Class creation from IDL files
178 \item Subclassing
179 \item Method overriding
180\end{itemize}
181\end{frame}
182
183\begin{frame}
184\frametitle{Netlabs Object Model}
185Thinks that do not work yet:
186\begin{itemize}[<+->]
187 \item Class replacement, almost done
188 \item Dynamical loading of classes, in development
189 \item \ldots
190\end{itemize}
191Difference to SOM:
192\begin{itemize}[<+->]
193 \item Use of an environment pointer in each method call (CORBA exception
194 handling)
195 \item SOM specific IDL extensions are not supported
196 \item No distributed SOM
197 \item Object pointer check
198 \item \ldots
199\end{itemize}
200\end{frame}
201
202\begin{frame}
203\frametitle{Voyager Desktop}
204\begin{itemize}[<+->]
205 \item WPS classes in development now
206 \item Subversion available, code checked in
207 \item Roadmap needed, discussion open! Target: 1.0 release
208\end{itemize}
209Summary: There is quite a lot of code available for Voyager - no vaporware :-)
210\end{frame}
211
212\begin{frame}
213\frametitle{Cairo}
214\begin{itemize}[<+->]
215 \item modern, open source, cross-platform 2D API
216 \item PDF/PS-like 2D API (hint: MacOS X Quartz)
217 \item multiple output systems (screen, printer)
218 \item OS/2 port exists, not accelerated so far
219 \item OpenGL based backend exists, called Glitz (hint: MacOS X Quartz :)
220\end{itemize}
221\end{frame}
222
223\begin{frame}
224\frametitle{GTK+ Toolkit}
225\begin{itemize}[<+->]
226 \item Most used toolkit on Unix-like systems nowadays
227 \item LGPL license (binary linking possible, unlike qt)
228 \item Abstraction layer called GLIB
229 \item Ongoing development (well, somewhat)
230 \item wxWidgets and SWT are implemented on top of it
231 \item Not yet available on eCS, PM port is evaluated right now
232 \item We might need to enhance it in mid-term
233\end{itemize}
234\end{frame}
235
236\begin{frame}
237\frametitle{Triton}
238\begin{itemize}[<+->]
239 \item Well-defined subsystem
240 \item Core library
241 \item Easy-to-use API for the application developers to visualize and control multimedia contents
242 \item Easy-to-use API for the plugin developers to be able to extend the system with support of new multimedia formats
243\end{itemize}
244\end{frame}
245
246\begin{frame}
247\frametitle{Triton Status}
248\begin{itemize}[<+->]
249 \item First audio codec implemented: MP3 (April 2006)
250 \item First image codecs implemented: GBM module support
251 \item First video codec implemented: (can't remember which one ;)
252\end{itemize}
253\end{frame}
254
255\subsection{Next Steps}
256
257\subsection{OS/2 and eCS Compatibility}
258\begin{frame}
259\frametitle{Some Ideas}
260People do ask for binary compatibility. We see the following options:
261\begin{itemize}[<+->]
262 \item Use a pure VM based solution - easy and will work well
263 \item Rewrite the whole OS as proposed by some people - unrealistic, waste of resources
264 \item Implement a minimal OS/2 personality on top of an existing kernel and get binary compatibility to work
265\end{itemize}
266\end{frame}
267
268\begin{frame}
269\frametitle{VirtualBox Guest}
270My favourite - easy and powerful
271\begin{itemize}[<+->]
272 \item Guest additions for OS/2
273 \item OS/2 is fast anyway, will work very snappy
274 \item Could run it fullscreen on any kernel underneath
275 \item Virtual hardware, very easy to maintain
276 \item Would be possible to do some fancy stuff (i.e. 3D)
277 \item Mensys could provide VDI images as alternative download
278 \item Might attract former OS/2 users
279\end{itemize}
280I will play do it anyway :)
281\end{frame}
282
283\begin{frame}
284\frametitle{OS/2 OS Personality}
285To get a minimal OS/2 personality to work we would have to implement:
286\begin{itemize}[<+->]
287 \item \texttt{DOS*}, \texttt{MOU*}, \texttt{KBD*} and \texttt{VIO*} API's
288 \item LX loader (Knuts kLoader)
289 \item GRADD driver for OpenGL backend
290 \item Some other things
291\end{itemize}
292There are still ongoing efforts in that direction, namely by Antony T. Curtis.
293Problem: It is far away from being usable.
294\end{frame}
295
296\subsection{License}
297
298\begin{frame}
299\frametitle{Voyager License}
300We do not want to use GPL for our own code for various reasons:
301\begin{itemize}[<+->]
302 \item NOM allows (and encourages) binary code, GPL does not allow
303 that (see endless Linux device driver discussion)
304 \item GPL forces developers to release linked source
305 \item No commercial plugins/extensions possible (see KDE, Joomla)
306 \item However, we might want to use (L)GPLed code!
307\end{itemize}
308\end{frame}
309\begin{frame}
310\frametitle{Voyager License Conclusion}
311Conclusion:
312\begin{itemize}[<+->]
313 \item LGPL/CDDL dual license for Voyager core
314 \item APL for sample applications (very liberal license)
315\end{itemize}
316The license discussion is thus over :-)
317\end{frame}
318
319\section{Roadmap}
320\subsection{Work in Progress}
321
322\begin{frame}[allowframebreaks]
323\frametitle{Timeline}
324\begin{itemize}
325 \item First source code is online \& available in SVN. Developers only so far
326 \begin{itemize}
327 \item Triton
328 \item Netlabs Object Model
329 \end{itemize}
330 \item Platforms for Voyager
331 \begin{itemize}
332 \item eCS: Initial setup in SVN, no native GTK+ yet (Everblue)
333 \item Windows: Interest of developer, minimal Windows XP ready :)
334 \item BSD/Linux: Developers wanted!
335 \end{itemize}
336\end{itemize}
337\end{frame}
338
339\begin{frame}
340\frametitle{netlabs.org Backend}
341\begin{itemize}[<+->]
342 \item More content on netlabs.org
343 \begin{itemize}[<+->]
344 \item finish CMS, project managers can work again
345 \item user management, new users can register easily
346 \item finish LDAP migration, convenient for users (SSO)
347 \item developers can upload files again
348 \item release management
349 \end{itemize}
350 \item Wiki Cleanup
351 \item EDM2 articles about Voyager
352\end{itemize}
353\end{frame}
354
355\begin{frame}
356\frametitle{Design of Voyager}
357\begin{itemize}[<+->]
358 \item Update NOM and Triton section
359 \item Kernel discussions, outcome of presentation at DWS 2007?
360 \item Make it easily buildable on eCS (contact with DocBook/2 crew)
361 \item Cleanup PDF generation
362 \item Goal: Frequent updates!
363 \item Contributions by community needed!
364\end{itemize}
365\end{frame}
366
367\begin{frame}
368\frametitle{Developer Stuff}
369Release management:
370\begin{itemize}[<+->]
371 \item integrate with TRAC/SVN
372 \item integrate with CMS
373 \item integrate with newsletter
374\end{itemize}
375Build environments
376\begin{itemize}[<+->]
377 \item Gentoo portage for OS/2!
378 \item \textit{Knut is my hero!}
379 \item integrate netlabs.org stuff in portage
380\end{itemize}
381\end{frame}
382
383\subsection{Future}
384\begin{frame}
385\frametitle{Public Relations}
386\begin{itemize}[<+->]
387 \item We need more contributors
388 \item We need publicity
389 \item We need money
390 \item (order doesn't matter ;)
391\end{itemize}
392\end{frame}
393
394\begin{frame}
395\frametitle{Internationalization}
396\begin{itemize}[<+->]
397 \item Future in Asia \& Eastern Europe
398 \item Localisation a requirement
399 \item Clever framework needed (see presentation of Christian Langanke)
400 \item Webbased resource management for the core
401 \item Might be done with some clever DHTML coding
402 \item eCS translation team got experience, use it
403\end{itemize}
404\end{frame}
405
406\begin{frame}
407\frametitle{More contributors}
408\begin{itemize}[<+->]
409 \item Attract former OS/2 developers, mainly WPS guys
410 \item Students are easy to impress with OO desktop
411 \item We need WPS showcases (Movies on Youtube \& co)
412 \item Local guerrilla groups (Usergroups, TeamOS/2 like)
413 \item Do presentations in your town/University\ldots
414\end{itemize}
415\end{frame}
416
417\begin{frame}
418\frametitle{Publicity}
419\begin{itemize}[<+->]
420 \item Going public after summer break
421 \item Supported by OS/2 World
422 \item Good contacts to the press with OS/2 source story
423 \item Articles in other magazines (freeX\ldots)
424 \item netlabs.org newsletter (Thanks a lot Jan \& Robert!)
425 \item More ideas?
426\end{itemize}
427\end{frame}
428
429\begin{frame}
430\frametitle{Money}
431\begin{itemize}[<+->]
432 \item We need to hire people -> much faster progress
433 \item License is liberal, can be commercialy used
434 \item Goal: We are interesting enough for companies like Google
435 \item Goal: netlabs.org cannot be bought, Mozilla Foundation like
436 \item Goal: Contributors can profit too (cash ;)
437\end{itemize}
438\end{frame}
439
440\begin{frame}
441\frametitle{Join the Project}
442\begin{itemize}[<+->]
443 \item Go to \texttt{http://voyager.netlabs.org}
444 \item Check the Voyager Wiki and FAQ
445 \item Join the Voyager Mailinglist at
446 \item Join the \texttt{\#netlabs} IRC channel (see
447 \texttt{http://www.ecomstation.com/chat.phtml})
448 \item Contribute to \textit{The Design of Voyager}
449 \item Contribute to NOM, Triton, compatibility layer etc.
450 \item Translate as soon as first text is available
451 \item Support us with money
452\end{itemize}
453\end{frame}
454
455\begin{frame}
456\frametitle{Where Are We Now?}
457 Not far enough yet - but we are working on it :)
458\end{frame}
459
460\begin{frame}
461\frametitle{Q\&A}
462 Questions?
463\end{frame}
464
465\end{document}
Note: See TracBrowser for help on using the repository browser.