1. Use of Open Source in critical business
applications
BBS use of Open Source
David Elboth
Version 1.10
Date: 20.04.10
2. Abstract
Abstract. We have identified BBS use of Open
Source over the last 5 years conducting field
studies with employees and collecting data from
14 large developments projects. This presentation
gives both method and our result. We hope this will
provide insight for the Open Source community in
what is a proven open standard for the company.
Tekst endres i Topp- og Bunntekst 07.05.2010
s.2
3. The BBS lecturer
• Head architect/BIS
– IT-løsninger og Drift/BIS (Basis infrastruktur og drift)
E-post: david.elboth@bbs.no
Tlf: +47 22 89 85 06/Mob: +47 920 66 633
• My production
– Published
• 5 books on Open Source/Linux
• 140 articles on Open Source/Linux
• GPL (GNU General Public License) version of the book ”The Linux
book” (www.linuxbok.no)
• Beta site for Red Hat Linux
• Adviser for students (Bachelor/Master degree in Open Source)
• Positions
– Abeo (Acando, Leader of Open Source department)
– CIBER (Ecsoft, Leader of Open Integration department)
s.3 Tekst endres i Topp- og Bunntekst 07.05.2010
4. Agenda
Open Source (internal and external)
Who are using OSS (Open Source
Software)?
Well known OSS?
Our arguments for using OSS
Where do BBS use OSS?
Our use of Open Source
Our Java environment (customer solutions)
Our use of Java
Some of our restrictions
The use of Java libraries and applications
Internal code, external Open Source code
and external closed source code
OSS in our business
Conclusion
s.4 Tekst endres i Topp- og Bunntekst 07.05.2010
5. Who are using open source?
Everyone
s.5 Tekst endres i Topp- og Bunntekst 07.05.2010
6. Who are using open source?
• World's largest organizations:
– Including Google, NASA, Sabre Holdings, MS (Z-lib, Hotmail e-mail
service, *), Sun/Oracle and Cox Communications are realizing
significant cost savings by using open business-critical
enterprise applications source products to power web sites, and
packaged software.
• Well known Norwegian companies using Open Source inn
critical applications:
– BBS, Telenor, EDB, A-pressen (Zett), Oslo University etc.
– Also a well known example is the Norwegian “Forbrukerportalen”
with their website. It is interesting to note that this government
institution also is promoting open source software.
• SSB (Statistics Norway) show that over 50% of all Norwegian
software manufacturers are now using the free OSS
components in their system solutions.
(*) Contributed with Open Source code to the projects PHP and Apache
s.6 Tekst endres i Topp- og Bunntekst 07.05.2010
7. OSS solutions?
All types of
applications
s.7 Tekst endres i Topp- og Bunntekst 07.05.2010
8. Open Source in practice
• Well known user applications
– FireFox, Thunderbird, OpenOffice
• Well known server applications
– TCP/IP (DNS, NTP etc), NFS, SAMBA, Apache
– Tomcat, Jboss
• Development tools
– Gcc, Perl, Java, Eclipse, NetBeans
• Test tools
– JUnit and Fitnesse
• Operating system
– Linux, Open Solaris, BSD, “Symbian” etc
• Products started in Norway
– QT (Trolltech, Nokia)
– Varnish http cache (Linpro)
– Documentation: “Boken om Linux” (http://www.linuxbok.no/node/5)
s.8 Tekst endres i Topp- og Bunntekst 07.05.2010
9. Why BBS is using Open Source?
• Open Source software is an alternative to commercial software,
which has always been popular in some areas of use and is
gaining more and more visibility. For BBS it has shown to
give low cost of ownership and has generally better level
of security and interoperability. It offers a possible solution to
some fundamental problems that have vexed commercial
software like Microsoft Office, IBM WebSphere Application
Server (WAS) and Oracle with their specific license politics.
• BBS has used Open Source in many years. Over the years we
have seen that Open Source software is more stable and
easier to check than closed code. Especially when we have
technically problems its must easier to find error and fix the
error before this creates problems for our customer. This
argument has been more important than saving money on
different software license programs.
s.9 Tekst endres i Topp- og Bunntekst 07.05.2010
10. Our arguments for using Open Source
• Deliver faster and better service for BBS’s customer
– Controlling
• the business code and all the dependencies
– Easier to
• share internally
• improve quality for BBS
– Reduce amount of
• special knowledge needed internally
• documentation needed
• Free from
– the high cost and inflexible software
– vendor lock-in risks of traditional enterprise
software (read: reduce software cost)
• Free to outsource
– Most outsourcing partners use Open Source
– Easier for outsourcing partners to implement Open Source solutions
s.10 Tekst endres i Topp- og Bunntekst 07.05.2010
11. Buying Software and your restrictions
• If you have no access to the source code
– want to add a feature? No.
– want to fix a bug? No.
– want to do a security audit? No.
– want to give copies to other projects (or friends)? You can't, legally.
• You get slow deployment/implementation
• For fixes/improvements, you have to wait for the “upgrade”
• New bugs, more money, runs slower (needs new computer)
• Why do I want the source code? I can't program?
– Sure, you can't. but that dork down the hall in IT/dev can.
• Million typewriters (dev., test, doc.)."Given a large enough beta-tester and
co-developer base, almost every problem will be characterized quickly and
the fix will be obvious to someone." The rule was formulated and named by
Eric S. Raymond in his essay "The Cathedral and the Bazaar".
• Somebody will find that obscure bug or security hole
s.11 Tekst endres i Topp- og Bunntekst 07.05.2010
12. Requirements for success for using Open Source?
One of Open Source’s most touted benefits is its price. Download the
software, install it? And don’t pay a penny? free beer,
free download, etc
• The Open Source success in BBS is believed to be a result of:
– Developer with high competence in java
– Developer/sysadmin with high competence Open Source
products
– Developers/sysadmin willing to learn (self learn) new products
– BBS developer has the possibility to allocate 10% of work time to
private Open Source activities
• We are self-reliant with in-house expertise on our basic needs.
• Important to have guidelines for use of Open Source
– Choose products that will live on ….
• Time and Money Code Library
– timeandmoney-v0_5_1.jar (2006)
s.12 Tekst endres i Topp- og Bunntekst 07.05.2010
13. Where do BBS use Open Source?
• The use of Open Source has over the years has grown. Today
open source is vital part of the business logic of BBS. In
nearly every division you will find use of Open Source including
development, deployment, test and production.
• Today BBS has a IBM Mainframe and HP Nonstop
environment and a traditional UNIX environment with about 720
servers distributed on 200 Linux, 400 Solaris hosts. BBS
has also a traditional Windows server environment with about
100 Windows servers, but less than 10% of all new business
code is developed on .net architecture.
s.13 Tekst endres i Topp- og Bunntekst 07.05.2010
14. Our use of Open Source utilities I/II
• Technical architecture (web = Linux, application= Linux,
database=Solaris)
Server tools Description Users
Linux Basic server Used by all
kernel/Solaris + utilities
GNU utilities
NTP, DNS, Apache Basic server Used by all
utilities
Syslog-ng Log Used by operation
NFS Fileserver Production
Used by nearly all projects in the
development phase (“BBS software
factory”). Used by operation developers.
Postfix/smtp Mail server Production
Basically used in the projects B2B, B2C,
fakturaprint, Nordea Brukerstedsportalen
and brukerstedsportalen (DNBNOR).
Lpr Lpr server Production
Basically used in the projects B2B, B2C,
fakturaprint, Nordea Brukerstedsportalen,
brukerstedsportalen and Randsborg.
s.14 Tekst endres i Topp- og Bunntekst 07.05.2010
15. Our use of Open Source utilities II/II
• Well known basic utilities used in many projects are listed in the
table below:
Tools Description Users
Bash, ksh, sh Shell (scripts) Used by all projects in
development phase
Ruby Development Used by some projects for
tool deploy.
Vi, emacs, xemacs Editor Used by all projects in
development phase
Sed, awk, cut, perl Text tool Used by some project by
operation developers
Gcc Development Some projects also need gcc for
tool recompiling C and C++ utilities
and applications.
Ssh, scp, wget Batch tools Used by operation developers
(and standard
Linux commands)
s.15 Tekst endres i Topp- og Bunntekst 07.05.2010
16. Our use of Java …
• BBS first java project started around 1999 but Java was first deeply rooted
when the Stay project started. In 2004 BBS started the STAY program which
main objective was to develop applications mainly written in COBOL, running
on mainframe and DB2, to java applications running on PC/Intel Linux with
Oracle as the preferred database.
• Since the first java project in BBS the Java language has undergone many
changes. In addition to the language changes, much more dramatic changes
have been made to the Java class library over the years. Many of the original
JDK 1.0 classes and methods have been deprecated. A consequence of this is
that BBS does not support lower versions of Java than JDK 1.4. A Linux
application server will therefore support different versions of Java from JDK 1.4
to 1.x.
s.16 Tekst endres i Topp- og Bunntekst 07.05.2010
17. Restrictions using Java …
• Negative experience with JAVA EE-application server like IBM WebSphere
Application Server and its ESB implementation (Enterprise Service Bus). JEE
has traditionally been a path to vendor lock-in even though specifications are
free and open.
– This has led us to a server solution based on the open source
servlet container jetty and tomcat.
– No message queue infrastructure will be based JMS and no message queue
infrastructure will be based on SIBus. All message queue should be based on a
revised implementation of meldingspumpe (1).
• Use of Open Source Java libraries
– Small products (less than 10.000 lines) with APL, MIT, BSD
licenses can be used at team’s discretion
– Products using GPL and LGPL must be formally evaluated
(1) Virgin and Vocalink
s.17 Tekst endres i Topp- og Bunntekst 07.05.2010
18. The use of Java libraries and applications
Library group About Used in
Java standard The java platform All projects
library
Springframework Enterprise java All projects
platform covers
most of the stack
Apache-commons Large collection of All projects
utility libraries
The table lists covering most
areas
important open source Hibernate ORM framework Most projects
Jetty Web application Most projects, Nettbank,
products/libraries in server Kundeportalen, BW
Tomcat (1) Web application Some projects
use for java projects at server
c3po Database Most projects
BBS. Connection
pooling
Junit Unit test All projects
framework
Log4j Logging Most projects
framework
Jdom XML data Most projects
Fitnesse (1) Functional testing Many projects
tool
Maven (1) Build tool Most projects
Eclipse (1) Ide Most developers
Hudson (1) Build server Most projects
Subversion (1) Source control Sentralized, most projects
Nexus (1) Artifact repository Sentralized, most projects
manager
(1) Defined as application
s.18 Tekst endres i Topp- og Bunntekst 07.05.2010
19. Conclusion (I/III)
• Our statistics on our application code (java):
• The external closed code is reduced day by day as we convert our
code from WAS to Jetty.
External
closed
Code in use Internal
code (%) code (%)
7% 18 %
External
open-
source
code (%)
75 %
s.19 Tekst endres i Topp- og Bunntekst 07.05.2010
20. Conclusion (II/III)
• The open-source success in BBS is believed to be a result of our
internal high competence in java Open Source products.
• Continuous investment in this competency is a success factor for
future Open Source strategy.
• A key to our development process is Maven. Manage a project's build
with control of external dependencies
– Reporting and documentation; (project.xml - build ).
– Manages (and downloads) any third party jars.
– Gives freedom when it comes to IDE (Integrated development
environment), test frameworks, build-servers, environment and deployment
strategy.
• We have established a best practice for obtaining and use of Open
Source libraries
s.20 Tekst endres i Topp- og Bunntekst 07.05.2010
21. Conclusion (III/III)
• From our statistical material you will find that most of our
projects are based on:
– Linux on web and applications servers
– The development environment is based on Java (JDK)
– Different GNU tools (development, deployment, test and
production)
– Subversion as version control
– Hudson as build server
– The test environment is based on Junit, Fitnesse and Selenium
– Jetty as web application server
s.21 Tekst endres i Topp- og Bunntekst 07.05.2010
22. Contribution to this presentation
• The following persons have made a contribution
– Bjørn Nordlund
– Jan Helge Salvesen
– Inge F.S. Johnsen
– Leif John Korshavn
– Stian Grenborgen
– Truls Thirud
• Internal quality control:
– Arild Endresen
– Reier Pytte
– Andreas Sollund
– Roar Kløften
– Stian Blomquist
– Michael Sundt
s.22 Tekst endres i Topp- og Bunntekst 07.05.2010