Software Platforms and Open Source - PowerPoint PPT Presentation

1 / 42
About This Presentation
Title:

Software Platforms and Open Source

Description:

VP and Chair Apache Portals 2004. High Sierra Technology, SLU. What is a Software Platform ... Maximal value creation. When it is a planned process... – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 43
Provided by: wwwstu
Category:

less

Transcript and Presenter's Notes

Title: Software Platforms and Open Source


1
Software Platforms and Open Source
  • Santiago Galathe Apache Software Foundation
  • VP and Chair
  • Apache Portals Project
  • Calvin CollegeComputer Sciences Club
  • Grand Rapids, Michigan

2
The speaker
  • Academic background in Quantum Chemistry
  • Early exposure to mainframes, heavy Fortran
    numerical analysis, APL, BitNET
  • Career and interests shifted towards RD in IT
  • Software/Knowledge Engineering (CommonKADS)
  • Networking technologies a passion
  • Consultant in network application technologies,
    Internet, J2EE and Open Source since 1996 (High
    Sierra Technology, owner)
  • Committer in Apache Jakarta since 2000 (Apache
    Jetspeed)
  • Member of the ASF since 2003
  • VP and Chair Apache Portals 2004

3
What is a Software Platform
  • (Ray Ozzie http//www.ozzie.net/blog/stories/2002/
    09/24/softwarePlatformDynamics.html)
  • A software platform is a relevant and ubiquitous
    common service abstraction
  • A platform's raison d'être is to create value by
    generating significant leverage for a variety of
    constituencies. Software platforms, for example,
    create leverage for many parties such as hardware
    developers, software developers, content
    developers, purchasers, administrators, and
    users. These parties are collectively referred to
    as the platform's "ecosystem". The corollary is
    that platforms do not sustain growth if they do
    not sustainably create significant unique,
    relevant and leveragable value for the ecosystem.
  • I don't like the teleological reference
  • Like other ecosystems, platforms evolve in a
    highly non-linear process, thus prone subject to
    attractors, catastrophes and other events typical
    in dissipative system evolution. Trying to manage
    the evolution of a platform is rather an art than
    a discipline.

4
A Plaftorm without a vendor?
  • Ray Ozzie
  • For any platform to attract a sustainable
    ecosystem, it is required that the entity
    building the platform additionally and directly
    invest in building nontrivial "layered offerings"
    on that platform, in order to gain experience
    with the costs would be to ecosystem partners,
    and in order to ensure that the platform's
    capabilities are complete enough to provide
    actual value to the ecosystem partners. This is
    later guaranteed to catalyze ecosystem conflict,
    but it is a necessary cost of driving a
    successful platform.
  • What about bottom up, self organizing platforms?
  • The Internet as a great equalizer
  • Ridiculously Easy Group forming (Sam Ruby)
  • Whales as value aggregators (Ben Hyde)

5
Relevance
  • Relevance is key to pump growth of platforms
  • higher productivity
  • better handling of complexity
  • leveraging hardware

6
Ubiquity/Commonality
  • network effects are very important
  • the more a platform is present, the more value it
    adds to stakeholders

7
Service Abstraction
  • the core what's it about
  • how to provide, deploy and use services
  • typically it comprises
  • Programming language
  • Libraries
  • Architectural styles or recipes (patterns)
  • IDE
  • certifications, pools of developers
  • In a word Culture!

8
Paraphrasing World of Ends
  • A platform is not a thing it is an agreement.
  • like a city
  • a coral reef?
  • a cloud?
  • ...and agreements want to be transparent,
    enduring and collectively managed.

9
Platform Ecosystem
  • technology
  • stakeholders
  • producers/consumers
  • value transfers

10
Stakeholders
  • People invested/interested in the success of the
    platform
  • VARs
  • integrators
  • developers
  • users

11
Platform Providers
  • Hardware vendors
  • Software vendors
  • Academia

12
Platform Users
  • Software developers
  • Content developers

13
Platform Buyers
  • CIOs (company purchasers)
  • Data Center Admins
  • final users

14
Platform Value
  • Creates value by leveraging participants
    (ecosystem)
  • Hardware developers (for OS level platforms)
  • Software developers
  • Content developers
  • Purchasers
  • Administrators
  • Users

15
Platform Evolution
  • Analogy Urbanization process
  • seen from the perspective of construction
    businesses
  • Starts with empty space
  • Maximal value creation
  • When it is a planned process...
  • ...and there are bottlenecks than can be used to
    toll the place
  • building permits, natural reserves, monopoly of
    real state
  • Commoditization (as infrastructure matures)
  • change in business nature
  • build another layer (Commerce, logistics,
    refurbishing)

16
Platform Evolution
  • Early stage not good enough solution
  • differentiation, innovation, value flows
  • Later modular architecture, commoditization,
    cloning
  • no premium, just speed to market and cost driven
  • The platform effect - ossification, followed by
    cloning - is how Christensen-style modularity
    comes to exist in the software industry. What
    begins as a value-laden proprietary platform
    becomes a replaceable component over time, and
    the most successful of these components finally
    define the units of exchange that power commodity
    networks. ( David Stutz )

17
Platform Evolution (II)
  • Example PostScript
  • Adobe
  • Apple LaserWriter

18
Platform Evolution (III)
  • Aldus Pagemaker
  • Desktop Publishing
  • Linotype
  • imagesetters
  • NeWS (Display PostScript)
  • OS X
  • standards (XSL-FO -gt PDF, Scribus, OOo)

19
Development platforms
  • Different (quasi-orthogonal) spaces
  • SOHO software
  • SMEs software (MS Windows, Office, Access)
  • SAP, Groupware
  • Embedded software (devices)
  • ISP
  • Network/Service Oriented Architectures

20
Different platforms
  • WOA (and LOOP)
  • LAMP
  • J2EE
  • .NET

21
Desktop Oriented
  • Document as coarse grain transfer unit
  • shared disks as communication units
  • PC classic platform

22
WOA
  • Windows Office Access
  • Document and Desktop Oriented, Stateful
  • MS Access
  • glue is VisualBasic or C
  • Use of ActiveX to embed documents into MSIE

23
LOOP
  • Linux OpenOffice.org PostgreSQL
  • Linux can be BSD or Mac OS X
  • OO.o has no real replacement,
  • gnumeric, planner, abiword
  • koffice
  • PostgreSQL or MySQL
  • glue is perl, python or C

24
Network/Service Oriented
  • The Web
  • Document centric (smaller grain)
  • markup languages (XML)
  • Blogs as microcontent
  • Intranets, dynamic applications

25
LAMP
  • Linux Apache MySQL P(HPerlython) libregex
  • Again, Linux can be BSD or Mac OS X
  • No real substitute for Apache
  • MySQL or PostgreSQL, not so pluggable
  • Dynamic Languages
  • parrot VM
  • will it leverage all languages?

26
J2EE
  • WORA (Windows, Linux, Solarix, BSD, OS X)
  • Tomcat, ServletAPI, PortletAPI
  • pluggable (JDBC)
  • Java and core libraries
  • security APIs
  • JDBC, JTA, EJB (managed transactions, persistence
    and security)

27
Open Source server-side Java
  • WORA (Windows, Linux, Solarix, BSD, OS X)
  • Tomcat, ServletAPI, PortletAPI
  • pluggable (JDBC)
  • Java is not Open Source
  • no satisfactory solution currently
  • gcj, kaffe, ikvm, classpath
  • security APIs
  • JDBC, JTA, EJB (managed transactions, persistence
    and security)

28
.NET
  • Windows
  • IIS
  • pluggable (MS SQLServer, ADO.NET/ODBC)
  • C/CLI
  • ASP.NET Windows.FormsWebServices
  • Very similar to J2EE stack
  • better for integration with other .NET languages
  • less mature than Java

29
mono
  • Windows, Linux, BSD, OS X
  • JIT for x86, PPC and SPARC
  • XSP, Apache (mod_mono)
  • pluggable DB
  • C/CIL
  • GTK, Gecko
  • risky (patents, undocumented changes) above the
    CIL layer

30
a World of Ends
  • As platforms get commoditized, value moves
    towards the edges
  • the bottom (hardware, OS)
  • the top (consultancy, development, training)
  • Sidelines (books, congresses, certifications,
    network providers)

31
Value at the edges
  • The stress in platform evolution due to
  • the platforms acquires value as it commoditizes
  • the value gets spread between more and more
    constituents (no actual driving force)
  • Value tends to move to the edges

32
.NET
  • Microsoft or Novell from the bottom...
  • Windows, Office
  • Linux Desktop
  • ...bits at the top (certifications, developer
    IDEs)
  • Intel too
  • no itanium support, though
  • mono runs in plenty of architectures
  • VAR, Consultants, etc. extract value at the top
    (customization, training, administration, support)

33
J2EE
  • Sun from big iron (vanishing), strategic
    accounts, and through influence in J2ME (java
    games for phones)
  • J2EE TCK and Licenses
  • BEA, IBM, etc. from the top

34
LAMP
  • Bottom are companies like MySQL, ActiveState,
    Redhat, IBM, Covalent
  • Top SMEs, consultants, Design shops

35
Sides
  • Booksellers
  • O'Reilly created the LAMP brand for OnLamp.com
  • Trainers, Universities, Service providers
  • Users (Google, Amazon, eBay, Public sector)

36
What's missing?
  • Hardware independence
  • Embedded spaced
  • Hardware commoditization
  • Eclipse
  • Open framework for IDE development
  • Where is the IDE for perl/python/PHP?
  • Macromedia
  • How does Flash fit in those strategies?

37
More things missing
  • Mozilla
  • Emerging as the choice client platform
  • CVS is ages old Subversion is the next step.
    Patch management, BitKeeper?

38
Conclusions
  • It is a hard world
  • once you are trained in a technology, it changes!
  • Java is mature, C is gaining momentum
  • LAMP for Enterprise developments?

39
Recommended Strategy
  • IBM plays at all fields at the same time
  • but few (if any) of us is the size of IBM
  • Open Source is also everywhere
  • This means lock-in gets smaller as time passes
  • Case by Case
  • java is a good system language, easy to port to
    C (which is patent safe if one sticks with the
    ECMA standard)
  • dynamic languages for prototyping or duct tape
    (perl as a Write Only Language)

40
Recommended Strategy
  • Long term Aim for a fully commoditized platform
  • No one owns it.
  • Everyone can use it.
  • Anyone can improve it.
  • (bullet 8 of WoE, paraphrasing again)
  • For .NET stick to monoGTK
  • J2EE we miss a free java
  • LAMP MySQL substituted by perlDBI, etc...
  • Value wants to be at the edges

41
Recommended Reading
  • Roy T. Fielding's disertation
  • http//www.ics.uci.edu/fielding/pubs/dissertation
    /software_arch.htm
  • RESTwiki http//rest.blueoxen.net/cgi-bin/wiki.pl
  • Ray Ozzie on Platform dynamics
  • http//www.ozzie.net/blog/stories/2002/09/24/softw
    arePlatformDynamics.html
  • David Stutz on Software Platforms
  • http//www.synthesist.net/writing/software_platfor
    ms.html
  • David Asher on Dynamic Languages
  • http//www.activestate.com/Company/NewsRoom/whitep
    apers_ADL.plex

42
Recommended Reading (II)
  • Sam Ruby's RESTSOAP
  • http//www.intertwingly.net/stories/2002/07/20/res
    tSoap.html
  • Blogs/Essays Clay Shirky, Sam Ruby, Ben Hyde,
    Doc Searls
  • World of Ends ( http//www.worldofends.com/ )
Write a Comment
User Comments (0)
About PowerShow.com