%\documentclass[colorBG,slideColor,troispoints,pdf]{prosper} \documentclass[total,pdf]{prosper} %\documentclass[colorBG,slideColor,ps]{prosper} \usepackage{alltt,key,xr,cols,rcs,acro,%nick,% graphicx,varioref,explanation,booktabs,multicol} \usepackage[toc,highlight,Tycja]{HA-prosper} %\usepackage[nolineno,noindent]{lgrind} %\definecolor{green}{rgb}{0,1,0} \RCS $Revision: 1.1 $ % Copyright (c) 2004 by Nick Urbanik . % This material may be distributed only subject to the terms and % conditions set forth in the Open Publication License, v1.0 or later % (the latest version is presently available at % http://www.opencontent.org/openpub/). % For Prospe\renewcommand*{\bs}{\texttt{\char '134}} % Backslash `\' %\newcommand*{\labTitle}{LDAP Directories}1 \newcommand*{\subject}{Operating Systems and Systems Integration} \newcommand*{\emphcolour}[1]{\emph{\red#1}} \newcommand*{\link}[2]{\href{#2}{#1} \path{#2}} \providecommand*{\RPM}{\acro{RPM}\xspace} \providecommand*{\CD}{\acro{CD}\xspace} \providecommand*{\IPC}{\acro{IPC}\xspace} \providecommand*{\UID}{\acro{UID}\xspace} \providecommand*{\GID}{\acro{GID}\xspace} \providecommand*{\SMP}{\acro{SMP}\xspace} \providecommand*{\API}{\acro{API}\xspace} \providecommand*{\OK}{\acro{OK}\xspace} \providecommand*{\IETF}{\acro{IETF}\xspace} \providecommand*{\MS}{\acro{MS}\xspace} \providecommand*{\LILO}{\acro{LILO}\xspace} \providecommand*{\HCI}{\acro{HCI}\xspace} \providecommand*{\KDE}{\acro{KDE}\xspace} \providecommand*{\MBR}{\acro{MBR}\xspace} \providecommand*{\BSD}{\acro{BSD}\xspace} \providecommand*{\GPL}{\acro{GPL}\xspace} \providecommand*{\MB}{\acro{MB}\xspace} % Get rid of that horrible hash mark in slide numbers in ppr-prv.cls: \def\no{} \newif\ifpprprvloaded \makeatletter% \@ifclassloaded{ppr-prv}{\pprprvloadedtrue}{\pprprvloadedfalse}% \makeatother% \newcommand{\positionPicture}{% \ifpprprvloaded \else \vspace*{-15mm}\par \hspace*{-13mm}% \fi } \newcommand{\positionPictureOpt}[2]{% \ifpprprvloaded \else \vspace*{#1}\par \hspace*{#2}% \fi } \title{\mbox{}\blue{}Free Software}% \subtitle{and Open Standards} \author{Nick Urbanik\\ \footnotesize{}Copyright Conditions: GNU FDL (see \url{http://www.gnu.org/licenses/fdl.html}) \email{nicku@nicku.org}\\ \institution{A computing department}} \author{Nick Urbanik \texttt{}\\ \footnotesize{}Copyright Conditions: GNU FDL (see \url{http://www.gnu.org/licenses/fdl.html})}% %\institution{A computing department}% \slideCaption{OSSI --- Free Software \& Open Standards --- ver. \RCSRevision} %%%\Logo{\includegraphics[width=15mm]{ict-logo-smaller}} \DefaultTransition{Wipe} \TitleSlideNav{FullScreen} \NormalSlideNav{ShowBookmarks} \LeftFoot{OSSI --- ver. \RCSRevision} \RightFoot{Free Software \& Open Standards} \begin{document} \maketitle \tsectionandpart[toc=Free Software,bm=Free Software]% {Free Software\\[3ex] What is it?\\[3ex] \GPL, license, ``viral effects''\\[3ex] How to get help} %% \begin{slide}{Free Software and Open Standards} %% \vspace*{0.1\slideWidth} %% \begin{center}\Large %% \mbox{}\blue{}What is it? %% \vspace*{0.05\slideWidth} %% \GPL, license, ``viral effects'' %% \vspace*{0.05\slideWidth} %% How to get help %% \end{center} %% \end{slide} \begin{slide}{What is Free Software?} \begin{itemize} \item Defined by Richard Stallman \begin{itemize} \item Author of \GPL (General Public License) \item Author of Emacs editor, \GNU compiler suite \item Founder of the Free Software Foundation \end{itemize} \item Sometimes viewed (\emphcolour{incorrectly}) as the same thing as Open Source. \item Sometimes viewed (\emphcolour{Very incorrectly!}) as the same thing as Freeware or shareware!! \item The \GPL defines four freedoms. \end{itemize} \end{slide} \begin{slide}[bm=GPL: the Four Freedoms,toc=\GPL: the Four Freedoms]% {GPL: the Four Freedoms} \begin{itemize} \item The freedom to run the program, for any purpose ({\green{}freedom 0}). \item The freedom to study how the program works, and adapt it to your needs ({\green{}freedom 1}). Access to the source code is a precondition for this. \item The freedom to redistribute copies so you can help your neighbor ({\green{}freedom 2}). \item The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. ({\green{}freedom 3}). Access to the source code is a precondition for this. \end{itemize} \end{slide} \begin{slide}[bm=GPL is Viral?,toc=\GPL is Viral?]% {Why does Microsoft call the GPL "Viral"?} \begin{itemize} \item Microsoft hate the \GPL with passion \item Have called the license ``viral'', even in their legal documents! \item Why do they do this? \item They say that if anyone uses some \GPL code in their product, then they are required to distribute all the source code to their product \end{itemize} \end{slide} \begin{slide}[bm=GPL and Proprietary,toc=\GPL and Proprietary]% {GPL and Proprietary Licenses} \begin{itemize} \item However, if you \begin{itemize} \item view source code Microsoft released under their ``shared source'' scheme \item write some software that is related in some way \end{itemize} \item Will the Microsoft Legal Department treat you nicely? \item I would not dare view Microsoft source code. \end{itemize} \end{slide} \begin{slide}{Other Free Software Licences} \begin{itemize} \item These include the \BSD license \item Allows any company to include the code, modify it, keep it all secret. \item People may be less motivated to contribute if their work goes to Microsoft. \item Microsoft like this license. \end{itemize} \end{slide} \begin{slide}{Mailing Lists: help from experts} \begin{itemize} \item There are many mailing lists and newsgroups for almost every topic of systems administration \item When subscribe to mailing list, receive all mail from list \item When send mail to list, all subscribers receive \item Example lists: \begin{itemize} \item Linux Kernel Mailing List (\acro{LKML}) \item Red Hat mailing list \item \SSH, \DNS, \DHCP, Language specific mailing lists,\ldots \end{itemize} \end{itemize} \end{slide} \begin{slide}{How to ask Questions on a List} \begin{itemize} \item I receive many email questions from students about many topics \item {\mbox{}\magenta{}Most questions are not clear enough} to be able to answer in any way except, ``please tell me more about your problem'' \item Such questions sent to mailing lists are often unanswered \item Need to be \emphcolour{concise}, \emphcolour{accurate}, and \emphcolour{clear} \begin{itemize} \item Good practice with your English! \end{itemize} \item Search the \FAQ{}s first \begin{itemize} \item Your question may be answered in the documentation \end{itemize} \item Read \link{How To Ask Questions The Smart Way}% {http://catb.org/~esr/faqs/smart-questions.html} \end{itemize} \end{slide} \tsectionandpart[toc=Open Standards,bm=Open Standards]% {Open Standards\\[3ex]The key to Systems Integration} \begin{slide}[toc=What is Open?,bm=What is Open]% {What is an Open Standard?} \begin{itemize} \item Bruce Perens, who said he's first to use the term `Open Source', the former Debian project leader, and the co-founder of the Open Source initiative, defines \emph{Open Standards} in \url{http://perens.com/OpenStandards/Definition.html}: \end{itemize} \begin{description} \item[Availability:] Open Standards are \emphcolour{available for all} to \emphcolour{read} and \emphcolour{implement}. \item[Maximize End-User Choice] Open Standards create a {\magenta{}fair, competitive market} for implementations of the standard. They \emphcolour{do not lock the customer in} to a particular vendor or group. \item[No Royalty] Open Standards are free for all to \emph{implement}, with \emphcolour{no royalty or fee}. \emph{Certification} of compliance by the standards organization may involve a fee. \end{description} \end{slide} \begin{slide}[toc=What is Open 2?,bm=What is Open 2]% {What is an Open Standard? --- 2} %\ptsize{10} \positionPictureOpt{0mm}{-0.05\slideWidth}% \begin{minipage}[t]{1.07\slideWidth}%\raggedright \begin{description} \item[No Discrimination] Open Standards and the organizations that administer them \emphcolour{do not favor one implementor over another} for any reason other than the \emphcolour{technical standards compliance} of a vendor's implementation. Certification organizations must provide a path for low and zero-cost implementations to be validated, but may also provide enhanced certification services. \item[Extension or Subset] Implementations of Open Standards may be extended, or offered in subset form. However, {\magenta{}certification organizations} may decline to \emphcolour{certify subset implementations}, and may \emphcolour{place requirements} upon \emphcolour{extensions} (see \emph{Predatory Practices}). \item[Predatory Practices] Open Standards may \emphcolour{employ license terms} that \emphcolour{protect against subversion} of the standard by \emphcolour{embrace-and-extend} tactics. The licenses attached to the standard may {\magenta{}require the publication of reference information for extensions}, and a {\magenta{}license for all others to create, distribute, and sell software that is compatible with the extensions}. An Open Standard may not otherwise prohibit extensions. \end{description} \end{minipage} \end{slide} \tsectionandpart[toc=Practice,bm=Practice]% {Practice\\[3ex] from\\[1ex] \makebox[0pt]{\normalsize\url{http://perens.com/OpenStandards/Definition.html}}} \begin{slide}{Availability} \begin{description} \item[Availability] Open Standards are available for all to read and implement. Thus: \begin{enumerate} \item The \emphcolour{best practice} is for the standards text and reference implementation to be available for \emphcolour{free download} via the Internet. \item Any software project should be able to afford a copy without undue hardship. The cost should \emphcolour{not} far \emphcolour{exceed} the \emphcolour{cost of a college textbook}. \item \emphcolour{Licenses} attached to the standards documentation must \emphcolour{not restrict} any party from \emphcolour{implementing} the standard {\green{}using any form of software license}. \item The best practice is for software reference platforms to be licensed in a way that is \emphcolour{compatible with all forms of software} licensing, both Free Software (Open Source) and proprietary. However, see Predatory Practices regarding license restrictions that may be appropriate for a software reference platform. \end{enumerate} \end{description} \end{slide} \begin{slide}[toc={Choice, No Royalty},bm={Choice, No Royalty}]% {Maximize Choice, No Royalty} \begin{description} \item[Maximize End-User Choice] Open Standards create a fair, competitive market for implementations of the standard. Thus: \begin{enumerate} \item They must \emphcolour{allow a wide range of implementations}, by businesses, academia, and public projects. \item They must support a range of pricing from very expensive to zero-price. \end{enumerate} \item[No Royalty] Open Standards are \emphcolour{free for all to implement}, with \emphcolour{no royalty or fee}. Certification of compliance by the standards organization may have a fee. Thus: \begin{enumerate} \item \emphcolour{Patents} embedded in standards \emphcolour{must be licensed royalty-free}, with non-discriminatory terms. \item Certification programs should include a \emphcolour{low or zero cost self-certification}, but may include higher-cost programs with enhanced branding. \end{enumerate} \end{description} \end{slide} \begin{slide}{No Discrimination} \begin{description} \item[No Discrimination] Open Standards and the organizations that administer them {\magenta{}do not favor one implementor over another} for any reason other than the {\magenta{}technical standards compliance of a vendor's implementation}. Certification organizations must provide a path for low and zero-cost implementations to be validated, but may also provide enhanced certification services. Thus: \begin{enumerate} \item A standards organization that wishes to support itself through certification branding should establish a premium track and a low-cost or zero-cost track. Generally, the premium track will provide a certification lab outside of the vendor's facility to verify a vendor's implementation and enhanced branding: a certification mark that indicates a greater certainty of verification and financial support of the standard. The low or zero-cost track would provide self-certification by the vendor and baseline branding. \end{enumerate} \end{description} \end{slide} \begin{slide}{Extension, Predatory Practice} \positionPictureOpt{0mm}{-0.08\slideWidth}% \begin{minipage}[t]{1.1\slideWidth}%\raggedright \begin{description} \item[Extension or Subset] Implementations of Open Standards may be extended, or offered in subset form. However, {\magenta{}certification organizations may decline to certify subset implementations}, and may place requirements upon extensions (see Predatory Practices). \item[Predatory Practices] Open Standards may employ \emphcolour{license} terms that \emphcolour{protect against subversion} of the standard by \emphcolour{embrace-and-extend tactics}. The license may require the publication of reference information and an license to create and redistribute software compatible with the extensions. It may not prohibit the implementation of extensions. \begin{enumerate} \item The standards organization may wish to apply an agreement similar to the Sun Industry Standards Source License to the standard documentation and its accompanying reference implementation. The Sun agreement requires publication of a reference implementation (not the actual commercial implementation) for any extensions to the standard. This makes it possible for a standards organization to actively preserve interoperability without stifling innovation. \end{enumerate} \end{description} \end{minipage} \end{slide} \begin{slide}{Open Standards: Summary} \label{std:open-standards-summary} An \emph{open standard} should: \begin{itemize} \item Offer certification by a standards organisation \item Be available to all to read and implement \item Create a fair, competitive marketplace to maximize end-user choice \item Require no royalty or fee to implement \item Not discriminate for one implementation over another \item Only be extended or subsetted with the approval of a certification authority \item Employ licensing terms to protect against subversion, such as `embrace and extend'. \end{itemize} \end{slide} \tsectionandpart{Government and Open Standards} \begin{slide}{Government: Choosing Standards} \begin{itemize} \item We pay the government tax money \item Some of it pays for archiving documents for \emphcolour{future generations} \item What \emphcolour{formats} and \emphcolour{standards} should the government use? \item Proprietary formats may be {\magenta{}very costly to reverse engineer} decades after the company producing the technology has {\magenta{}disappeared} \begin{itemize} \item Even Microsoft may not last forever \end{itemize} \item Proprietary formats may have \emphcolour{legal restrictions} that prohibit reverse engineering because of \emphcolour{patents} \item Proprietary formats may also be protected by some \emphcolour{encryption scheme} that may be {\magenta{}costly to decrypt} futher into the future when the format of the data is not documented. \item See the discussion in \href{http://community.asiaosc.org/~iwsmith/presentations/2003%2008%2026%20FOSSCON%20Imran%20full%20paper.pdf}{The Rise of Proprietary Formats: The New Battleground}: \path{http://community.asiaosc.org/~iwsmith/presentations/2003%2008%2026%20FOSSCON%20Imran%20full%20paper.pdf} \end{itemize} \end{slide} \begin{slide}[toc=Proprietary Consequences,bm=Proprietary Consequences]% {Choosing Proprietary ``Standards''} \begin{itemize} \item A proprietary software vendor may choose to {\magenta{}use software patents} to \emphcolour{restrict interoperation} \item May use these to {\magenta{}make reverse engineering illegal}, even if that is quite trivial \item See this \href{http://www.eweek.com/article2/0,1759,1579765,00.asp}{interesting article} about Microsoft lodging large numbers of patents for technology for Longhorn: \path{http://www.eweek.com/article2/0,1759,1579765,00.asp} \begin{itemize} \item The author believes that Microsoft's aim to to make interoperation illegal, and lock out Linux and the free competition \item An attempt to monopolise ``standards'' \item He could have a point. \end{itemize} \end{itemize} \end{slide} \tsectionandpart[toc=Internet Standards,bm=Internet Standards]% {Standards for the Internet\\[3ex] Those to which any can contribute} \begin{slide}{Standards for the Internet} \begin{itemize} \item There are two main bodies concerned with Internet standards: \item The Internet Engineering Task Force (\IETF) \item The World Wide Web Consortium (\url{http://www.w3.org}) \end{itemize} \end{slide} \begin{slide}[bm=IETF standards: the RFCs,toc=\IETF standards: the RFCs]% {IETF standards: the RFCs} \begin{itemize} \item There are about 4000 documents called Requests for Comments (\RFC{}s) \item A few of these are official standards \item Can download from many web and ftp sites; see \url{http://www.rfc-editor.org/} \item Available on ictlab---always up to date: see \path{/home/nfs/rfc} on your computer in our campus \end{itemize} \end{slide} \begin{slide}{WWW Consortium} \begin{itemize} \item Publishes standards documents on their web site \url{http://www.w3.org} \item Covers standards such as http, \SOAP, \XML \end{itemize} \end{slide} \begin{slide}{W3 Standards} \begin{itemize} \item Any person can download the standard freely \item Any person may contribute to the standards \item \IETF standards based on "rough consensus and running code" \item w3 also allows open participation in developing standards \end{itemize} \end{slide} \begin{slide}{Conclusion} \begin{itemize} \item Open standards allow others with the talent to write software to meet the standard \item Some proprietary protocols and proprietary protocols can be expensive to reverse engineer in the future after the company that introduced them is out of business. \item Open standards allow systems to work together \item Allows system integration. \end{itemize} \end{slide} \end{document}