\section{Open Source}
% ------------------------------------------------------------------------------
\begin{frame}

  \frametitle{Finally}

  \centering
   So, uh, maybe we should talk about open source, huh?

\end{frame}
% ------------------------------------------------------------------------------
\begin{frame}

  \frametitle{Standard collaboration tools}
  
  \begin{itemize}
    \item Debian stable Linux server
    \item wiki: {\bf ikiwiki}
    \item version control: {\bf git}
    \item mailing lists: {\bf mailman}
    \item Desktop tools: 
      \begin{itemize}
        \item {\bf \LaTeX ~(beamer)}
        \item {\bf OpenOffice}
      \end{itemize}
    \item Visualization: 
      \begin{itemize}
        \item {\bf gnuplot}
        \item {\bf inkscape}
        \item python's {\bf matplotlib}
      \end{itemize}
    \item Languages: mostly C and Java, some Python.
    \item Pretty standard stuff, except perhaps ikiwiki.
  \end{itemize}

\end{frame}
% ------------------------------------------------------------------------------
\begin{frame}

  \frametitle{Open software tool chains}

  \begin{itemize}
    \item The rocket is an example of an embeded system. We use common tools for 
      writing and debuging code on the flight hardware.
      \begin{itemize}
        \item gcc
        \item gdb
        \item make
        \item eclipse (w/CDT)
        \item openocd (JTAG driver)
      \end{itemize}
    \item We choose hardware for which open tools exist.
      \begin{itemize}
        \item ARM
        \item PowerPC
        \item x86
        \item {\bf not} PIC
      \end{itemize}
    \item We use Linux as an embedded OS on big chips (x86, PPC).
    \item We use FreeRTOS (or go ``bare metal'') on everything else.
    \item Most ground system PC-based software is written in Java for cross-platform use.
  \end{itemize}
  
\end{frame}
% ------------------------------------------------------------------------------
\begin{frame}

  \frametitle{Open Source CAD: Mechanical}
  
  \begin{itemize}
    \item 2D drawing and layout
      \begin{itemize}
          \item QCAD: Works great, albeit with a clunky UI.
      \end{itemize}
    \item 3D drawing and solid modeling
      \begin{itemize}
          \item \emph{Critical} for complicate electro-mechanical assemblies
          \item FreeCAD: 3D file viewer, can't yet edit and design files. We have high hopes for this one.
          \item Current stopgap: we use SolidWorks under an academic license.
      \end{itemize}
    \item Computational Fluid Dynamics
      \begin{itemize}
          \item OpenFOAM: 3D , very difficult to use, might even work.
      \end{itemize}
  \end{itemize}

\end{frame}
% ------------------------------------------------------------------------------
\begin{frame}

  \frametitle{Open Source CAD: Electrical}
  
  \begin{itemize}
    \item Schematic capture and PCB layout
      \begin{itemize}
        \item gEDA: collection of cobbled together tools. As of the latest release, usable! Ongoing integration work will make it much better.
        \item KiCAD: much more polished than gEDA, missing one or two bits of critical functionality (e.g., ``undo'' in the PCB editor).
        \item Current stopgap: Using EAGLE CAD under the free license.
      \end{itemize}
  \end{itemize}

\end{frame}
% ------------------------------------------------------------------------------
\begin{frame}

  \frametitle{Open Source CAD: Rockets}
  
  \begin{itemize}
    \item Model and high power rocket simulation
      \begin{itemize}
        \item OpenRocket: a fantastic cross-platform replacement to "RockSim", allows design and simulation of high power rockets. A clear win for open source in rockets.
      \end{itemize}
    \item Orbital mechanics
      \begin{itemize}
        \item OTIS: NASA's Orbital trajectory by implicit simulation. Under ITAR, unfortunately.
        \item In the process of rolling our own rocket simulator.
      \end{itemize}
   \end{itemize}

\end{frame}
% ------------------------------------------------------------------------------
\begin{frame}

  \frametitle{Open Standards}
  
  We try to use standards based technology wherever we can.
  \begin{itemize}
    \item 802.11
    \item ARRL standards (ham radio)
    \item Standards based buses:
      \begin{itemize}
        \item Controller Area Network (CAN)
        \item USB
        \item SMB
        \item JTAG
      \end{itemize}
  \end{itemize}
  
\end{frame}
% ------------------------------------------------------------------------------
\begin{frame}

  \frametitle{Open Source hardware}
  
  \begin{itemize}
    \item What does ``open hardware'' really mean? 
      \begin{itemize}
        \item Requires enough info to replicate hardware---whatever that means.
        \item CAD documents: mostly they're incompatible across CAD programs.
        \item ``Standards`` based source files not useful: text, PS/PDF, Gerber..
        \item Bundled firmware and software (under GPL?)
      \end{itemize}
  \end{itemize}

\end{frame}
% ------------------------------------------------------------------------------
\begin{frame}

  \frametitle{Open Source hardware}
  
  \begin{itemize}
    \item What license to use?
      \begin{itemize}
        \item GPL doesn't really address hardware issues.
        \item TAPR Open Hardware License handles hardware, but overbearing.
        \item Others?
      \end{itemize}  
  \end{itemize}

\end{frame}
% ------------------------------------------------------------------------------
\begin{frame}

  \frametitle{Open Source hardware}
  
  \begin{itemize}
    \item Open hardware issues  
      \begin{itemize}
        \item There are a {\bf lot} less open hardware folks than open software folks
        \item More expensive and it sucks when you fab other people's mistakes.
        \item Open source software revolves around shared tools, hardware tools don't yet have the same large and adopted ecosystems.
        \item Hardware (usually) requiers a lot more investment to get something to work, not as easy to give away.
        \item Open source is established as legitimate buisness model (we think?), but open hardware models are not yet tested. All eyes on "Chumby"?
      \end{itemize}  
  \end{itemize}

\end{frame}
% ------------------------------------------------------------------------------
\begin{frame}

  \frametitle{Open source issues}
  
  \begin{itemize}
    \item We will soon have to deal with the International Traffic on Arms Regulations (ITAR). 
      \begin{itemize}
        \item Remember the PGP debacle? We don't want to, either.
        \item Protecting ourselves from legal action while pursuing orbit will be difficult: will have to ask for outside legal aid.
      \end{itemize}
    \item Like many complicated open projects, we have serious documentation organization and management issues.
      \begin{itemize}
        \item How do you organize thousands of documents? That span over time? And multiple projects?
        \item How do you find things quickly when search fails you? We use the dreaded phrase "it's on the wiki" quite often.
      \end{itemize}
    \item Upgrading tool chains is always hard:
      \begin{itemize}
        \item CVS to SVN to git (fairly painless).
        \item Twiki to MoinMoin to ikiwiki (very, very painful).
      \end{itemize}
  \end{itemize}

\end{frame}
% ------------------------------------------------------------------------------
\begin{frame}

  \frametitle{Open source wins}

  \begin{itemize}
    \item PSAS would not be possible without open source tools: our current project just wouldn't have been possible 10 years ago.
    \item New, better OSS tools let us increase productivity (git, ikiwiki, eclipse, etc).
    \item "If we just wait another 6 months..."
  \end{itemize}

\end{frame}

