Open Source vs. proprietary software for toolchains for embedded software development

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    2 Favorites

    Open Source vs. proprietary software for toolchains for embedded software development - Presentation Transcript

    1. Combining open source and proprietary software for embedded software development Peter Vandenabeele, TASS Belgium 10 June 2008, Veldhoven
    2. TASS in a nutshell
      • formerly part of Philips, standalone since April 2007
      • embedded software consulting
      • 30-year track record
      • 200+ embedded software professionals
          • 150 TASS BV (Netherlands, HQ Eindhoven)‏
          • 50 TASS Belgium NV (HQ/TASS East, Leuven; TASS West, Gent)‏
      • 20+ MEUR revenues
      • local player Benelux & Aachen region
    3. Open source and proprietary
      • open source, “BSD” style
        • freedom to see source, copy, modify, redistribute (& use)‏
        • can be redistributed as and linked with proprietary
      • open source, “GPL” style (aka “free software”)‏
        • modified SW and linked SW can only be redistributed as GPL
        •  “ viral” for linking with prop. SW (“copyleft”)‏
        •  ” using” it is not affected (e.g. “using” linux, MySQL)‏
      • proprietary
        • does not offer freedoms of “GPL” or “BSD”
      • money/price
        • not relevant for definition of open source vs. proprietary
        • all combinations possible (e.g. “selling” Linux, “freeware”)‏
    4. Development set-up development system target system 1 target system 2
      • Tools:
      • compilers
      • debuggers
      • version ctrl
      • IDE
      • test
      • Code:
      • application
      • libraries
      • kernel
      • boot loader
      • TPM
      • Data:
      • communication
      • storage
      • open/closed standards !
    5. Host: compilers (e.g. C/C++)‏
      • Proprietary
      • IBM: Visual Age
      • Sun: Sun Studio
      • Intel: Intel C++
      • ARM: RealView
      • MS: Visual Studio
      • Green Hills: MULTI
      • Wind River compiler
      • IAR Embedded Workb.
      • Open Source
      • gcc
      • Portable C compiler
      • Tiny C compiler
      • Local C
    6. Host: version control
      • Proprietary
      • IBM Rational ClearCase
      • MS Team Foundation Server
      • BitKeeper
      • ...
      • Open Source
      • CVS
      • SVN (subversion)‏
      • git
    7. Host: IDE (Integrated Development Environment)‏
      • Proprietary
      • ARM: RealView*
      • MS: Visual Studio
      • Green Hills: MULTI
      • Wind River: Workbench*
      • Montavista: DevRocket*
      • IAR: Embedded Workb.
      • Adobe Flex builder*
      • (*) based on Eclipse
      • Open Source
      • Eclipse (+CDT)‏
      • NetBeans
      • KDevelop
      • make/vi/gcc/gdb/git
      • buildroot
      • emacs
    8. Host: selection criteria
      • many proprietary and open source options
      • for the development system, the 1 time fee of proprietary solutions can be acceptable
      • choices based on performance, features, integration with existing solutions and IDE’s
      • “ best of breed” solutions are possible
    9. Development set-up development system target system 1 target system 2
      • Code:
      • application
      • libraries
      • kernel
      • boot loader
      • TPM
    10. Target: TPM (Trusted Platform Module)‏
      • TPM allows “locking” of phones, game consoles, ... (e.g. TiVo, iPhone, Xbox)‏
        • developing for iPhone costs 99 USD + 30% of revenue
        • TiVo uses Linux (GPL v2) but hardware refuses to run changed versions
        •  flies in the face of “freedom to modify”
        •  Richard Stallman was “not pleased” : GPL v3
      • TPM can also protect against unauthorized copying/alteration of your design
      • GPL v3 code requires the recipient to receive the “keys” to modify the GPL v3 piece of code
    11. Target: boot loader + kernel
      • Proprietary
      • many board-specific boot loaders
      • BIOS
      • VxWorks
      • Windows Embedded CE
      • ... (hundreds more)‏
      • Open Source
      • uboot (GPL style)‏
      • Redboot (GPL style)‏
      • Linux (GPL style)‏
      • eCos (GPL style)‏
      • RTEMS (BSD style)‏
      All common boot loaders and kernels allow other licenses for middleware and applications.
    12. Target: libraries
      • Proprietary
      • Qt: for proprietary apps
      • audio/video libraries
      • run-time environments for Flash/Flex*, Silverlight**
      • wireless communication stacks (WiFi, gsm, 3G) .
      • (*) Adobe opened Flash/Flex 
      • (**) Moonlight is Open Source, but behind the MS implementation
      • Open Source
      • Qt: GPL library
      • Gtk+ : BSD library
      • thousands of libraries with LGPL style license
      • run-time environments for Perl, Python, Ruby, Java, JavaFX, JavaScript (AJAX)‏
    13. Target: your application
      • In all practical scenarios you can choose to keep code proprietary or to make it open
      • Qt forces buying a proprietary license to allow linking with proprietary code or to opensource the applications
      • OpenMoko is an example of an open source application (open phone), with FIC selling the hardware ...
    14. Target: selection criteria
      • avoiding per-unit license fee on target
      • for many “low-level” features on the target, mature open source solutions exist
      • for “higher-level” features (graphics, Flash, wireless stacks) mainly proprietary solutions  strongly related with data standards
      • choices based on performance, features, flexibility, cost per device  drive to more open source on the target
    15. Development set-up development system target system 1 target system 2
      • Data:
      • communication
      • storage
      • open/closed standards !
    16. Open standards: definition
      • From Fedict (Belgian federal admin for ICT):
      • open specification: full description
      • free specification: free to implement
      • open standard: free specification that is accepted by international standards body with an open governance process (e.g. ISO/IEC, OASIS, IETF, W3C)‏
    17. Open standards: importance
      • proprietary and open source implementations are possible and can be mixed
      • open standards allow choice of implementation
      •  keep your options open for long term evolution
      •  far reaching consequences
      • historic examples: tcp/ip, http, html, SQL, ...
      • future: xml, microformats, ...
      • test against multiple implementations
    18. Open standards: good news
      • Adobe “Open Screen Project”
        • remove license restrictions on .swf format
        • (  free spec, allows competing implementations)‏
        • players become zero-cost (0$), also for embedded (not fundamental, but easy)‏
      • Microsoft accepts ODF v 1.1
        • Existing XML based document format will be supported (also for machine to machine document exchange, a lot easier)‏
    19. Development set-up development system target system 1 target system 2
      • Tools:
      • compilers
      • debuggers
      • version ctrl
      • IDE
      • test
      • Code:
      • application
      • libraries
      • kernel
      • boot loader
      • TPM
      • Data:
      • communication
      • storage
      • open/closed
      • standards !
    20. Conclusions
      • all combinations are possible
      • host: many options, choose best of breed
      • target: bias towards open source (cost)‏
      • target: certain dedicated stacks can require proprietary (graphics, wireless, audio/video)‏
      • data: favor open standards to keep your options open (that’s the real vendor lock-in)‏

    + petervandenabeelepetervandenabeele, 2 years ago

    custom

    2095 views, 2 favs, 0 embeds more stats

    An overview of the different open source and propri more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 2095
      • 2095 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 46
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories