• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Hans Petter Dahle: Programvareindustrien og fri programvare - erfaringer fra FoU-prosjekter
 

Hans Petter Dahle: Programvareindustrien og fri programvare - erfaringer fra FoU-prosjekter

on

  • 1,630 views

Hans Petter Dahles foredrag under GoOpen 2009

Hans Petter Dahles foredrag under GoOpen 2009

Statistics

Views

Total Views
1,630
Views on SlideShare
1,624
Embed Views
6

Actions

Likes
0
Downloads
1
Comments
0

1 Embed 6

http://www.slideshare.net 6

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Hans Petter Dahle: Programvareindustrien og fri programvare - erfaringer fra FoU-prosjekter Hans Petter Dahle: Programvareindustrien og fri programvare - erfaringer fra FoU-prosjekter Presentation Transcript

    • FAMILIER Programvareindustrien og fri programvare – erfaringer fra FoU-prosjekter 16. april 2009 Hans Petter Dahle Prosjektleder IKT-Norge Norges Forskningsråd støttet COSI og OSIRIS prosjektene Eureka ∑! 2023 Programme, ITEA projects COSI and OSIRIS IKT Norge, 19.05.09 1
    • FAMILIER Programvareindustrien og fri programvare – erfaringer fra FoU-prosjekter Del 1 COSI prosjektet Norges Forskningsråd støttet COSI og OSIRIS prosjektene Eureka ∑! 2023 Programme, ITEA projects COSI and OSIRIS IKT Norge, 19.05.09 2
    • JL-3 ITEA if-04031 Co-development using inner & Open Source in Software Intensive systems Start: 1.1.2006 (i Norge) Varighet 3 år Norske aktiviteter: Først og fremst rundt prosesser
    • JL-4 Prosjektet Norsk COSI Start: 1.1.2006 (i Norge) Varighet 3 år Norske aktiviteter:  Fokus på prosesser, for distribuert utvikling  Nasjonale demonstratorer COSI GoOpen 2009 4
    • JL-5 COSI Consortium Sweden Norway the Netherlands Finland Spain 12 partners in 5 countries unique: 7 subcontractors in Norway COSI GoOpen 2009 5
    • JL-6 Commodification of software technology losing differentiating intellectual property te ch no lo gy basic for the business lif e cy cl e commodity wasting valuable intra inter open cooperation engineering resources company companies COSI GoOpen 2009 6
    • JL-7 Problem statement How to manage the complexity of heterogeneous distributed development Challenges  Larger groups working on the same software  Development groups get more distributed  Software shifts to commodity  3rd party software is … … … increasingly used COSI addressed this issue …  WP1: Business & community models  WP2: Process models  WP3: Architecture … … COSI GoOpen 2009 7
    • JL-8 COSI goals 1 distributed 2 agile 3 trust & concurrent developments in understanding in heterogeneous distributed open development settings collaborations outsourcing external in house bounded open collaborations collaborations company knowledge control & & cost ownership sharing 4 understand & use the shift software shift COSI GoOpen 2009 8
    • JL-9 Leveraging OS opportunities Open process repository product 1 Practices 3 Using OSS 4 OSS products 5 Symbiotic 2 OS tools 4 Opening up relationship process repository product Closed COSI GoOpen 2009 9
    • JL-10 Achieved COSI Goals 1 Introduced distributed concurrent heterogeneous development  Partners moved to community-style collaboration  Applications architectures were restructured with OS tools and OSS components  … outsourcing external in house bounded open collaborations collaborations company knowledge control & & cost ownership sharing software shift COSI GoOpen 2009 10
    • JL-11 Achieved COSI Goals 2 Introduced agile developments in distributed settings  Partners introduced inner-source and collaboration oriented as their way of working  Partners integrated OS processes with SOA & MDD  … outsourcing external in house bounded open collaborations collaborations company knowledge control & & cost ownership sharing software shift COSI GoOpen 2009 11
    • JL-12 Achieved COSI Goals 3 Improved trust and understanding of open collaborations  We now know how to build attractive open applications & collaborations  Corporate partners evaluated, introduced & influenced OS tooling, e.g. subversion and GIT  … outsourcing external in house bounded open collaborations collaborations company knowledge control & & cost ownership sharing software shift COSI GoOpen 2009 12
    • JL-13 Achieved COSI Goals 4 Understanding & strategic use of the software shift  Policies are established on ISS or OSS use  We learned how to contribute & influence communities  … outsourcing external in house bounded open collaborations collaborations company knowledge control & & cost ownership sharing software shift COSI GoOpen 2009 13
    • JL-14 Case studies examples  ICT-Norway/eZ Systems eZ Publish  Improved community involvement for core product  Improved process in place, but not much experience yet  ICT-Norway/Keymind KeyWatch  Selection of open source tools used in own development  Going open source with own product COSI GoOpen 2009 14
    • JL-15 Case studies examples  ICT-Norway/Linpro OSS component selection  Improved selection process  More structured, documented and transparent  Time and effort will be saved during component evaluation and selection  ICT-Norway/Linpro Nomadic Version control  Because deltas are smaller, and limited in scope, conflict resolution is easier to handle  Developers that used SVK are very satisfied with it  Problem concerning off-site development without access to Linpro's Subversion server, was solved COSI GoOpen 2009 15
    • JL-16 Developing with OS components Selection, integration and life- cycle issues Keymind Computing GoOpen 2009 Audun Jensvoll, Keymind Computing 16
    • JL-17 Develop with open source components – the workflow Find candidate components Harvest Assessment Select best candidate Internal validation Version control – snap shot Prepare Integrate the component - architecture wrapping - domain adoption Life cycle management Consume - workaround / bug fix - upgrade Developer, domain expert, architect GoOpen 2009 Audun Jensvoll, Keymind Computing 17
    • JL-18 Harvesting Find candidates Short-listing check list: • Open source host sites Potential showstoppers: Licence ok ? • Community mailing lists Architecture ok ? Community health / trust: • General ”googling” Committed industrial partner Community diversity Assessing components Project health: Mailing lists • Apply check list Bug tracking Version control • Smaller is better Documentation • Low risk is better Component health Documented use /references Reputation ok Domain scope Architecture compliance GoOpen 2009 Audun Jensvoll, Keymind Computing 18
    • JL-19 Prepare - Test Test (usually only the chosen candidate component)  Goal: Verify that the component will work in our context  It is expensive to fail this selection  Dependent of component type  Small components:  make a small prototype and test most important functionality  make a preliminary integration layer (could be empty)  patch only if we must  timeframe: from a couple of hours to a day or two comp system GoOpen 2009 Audun Jensvoll, Keymind Computing 19
    • JL-20 Prepare - Integrate Loose coupling: - Bind to snapshot from available (stable) release - Never depend on future releases - Use as is - Wrapping: glue, integration layer, anticorruption layer, access layer - 2 aspects of integration: - Domain - adapt to application’s domain language (adapt to domain model, wrap in service) - Translator - Service provider - Architecture: Maintainability, scalability, security, distribution, etc. GoOpen 2009 Audun Jensvoll, Keymind Computing 20
    • JL-21 Consume How to ”live with the component” • Component included in development environment • Preferably packed as library • Under version control with source code and documentation • Internal responsible, the component ”uncle” • The developer who introduced the component, becomes ”internal responsible” (component uncle) • Follow discussion and development • Contribute to bug fix if relevant • If patch is applied in our development, update documentation appropriate • Stay with the snapshot • We don’t always need to upgrade to latest version (lazy upgrading) • Upgrade • As bug fix • Because of changed requirements to our application GoOpen 2009 Audun Jensvoll, Keymind Computing 21
    • JL-22 Challenges / conclusions • Process applicable for smaller components  Larger components (frameworks etc) has much more influence on our application and requires more attention in all phases. • Payback to the OSS communities  We get a lot of value from OSS  Respect licences  If not committers or core developers, at least contribute as active users • Main value: Availability  For us, availability is main the value of OSS  Appreciate openness about status, bugs, etc • Organizational structure  Dependant of developer competence as “fisher men”  Each component gets an uncle – take responsibility for the included components. Binds some resources GoOpen 2009 Audun Jensvoll, Keymind Computing 22
    • JL-23 Revision-Controlled, Distributed, and Nomadic Development Using SVK Linpro GoOpen 2009 Martin T. Ranang, Linpro 23
    • JL-24 Linpro case study  Linpro wanted to make it easy for their developers to perform nomadic, distributed, and fine-grained revision-controlled development through the introduction of a set of guidelines and the open-source tool SVK GoOpen 2009 Martin T. Ranang, Linpro 24
    • JL-25 Context: Revision Control  Serious software development, including OSS, use some kind of version control  Also known as source code management (SCM) or software configuration management (SCM)  Subversion has become the de-facto standard for revision control for OSS projects  Great improvements over CVS include  atomic commit operations  full revision history for renamed/moved files  versioning of symbolic links GoOpen 2009 Martin T. Ranang, Linpro 25
    • JL-26 Linpro Baseline Process  Almost all* of Linpro's development is placed under revision control with Subversion (SVN)‫‏‬  Based on experience and reasoning, our developers have found that fine-grained deltas, or commits with small changes, reduce the effort needed to handle merge conflicts, if they arise  Consequently, Linpro's developers prefer fine-grained deltas  Linpro strives to keep an up-to-date repository of all non- auto-generated material for every project on one of Linpro's central servers  If a developer is working off-site, the developer will perform commits over a secure network connection, using the svn+ssh protocol GoOpen 2009 Martin T. Ranang, Linpro 26
    • JL-27 Linpro Improved Process  Combining the use of the open-source tools Subversion and SVK Linpro accommodated to nomadic, distributed, revision-controlled development  This enabled Linpro's developers to continue doing fine- grained revision controlled development, but without the constraint of having to connection to Linpro's central revision-control repository for every revision-control operation  The improved process is documented in Linpro's contribution to the COSI Library of Assets, “Revision- controlled, Distributed, and Nomadic Development Using SVK” GoOpen 2009 Martin T. Ranang, Linpro 27
    • JL-28 Linpro Results  The problem concerning off-site development without access to Linpro's Subversion server, described in the baseline process, was solved  The developers that have used SVK are very satisfied with it  It was a bit difficult to grasp which parts and actions of SVK that interact and are dependent on each other  There is still a risk of running into merge conflicts, but because the deltas are smaller, and limited in scope, the conflict resolution is easier to handle than when merging large commits  Understanding how SVK works was a bit confusing because SVK introduces a conceptual layer “above” Subversion but still shares a lot of functionality and command names with Subversion  A set of documented guidelines:  The guidelines are documented in Linpro's contribution to the COSI Library of Assets GoOpen 2009 Martin T. Ranang, Linpro 28
    • JL-29 Incubator process • Incubator process addresses the main risk of the OSS projects • Provides an environment to achieve a stable release and gather a healthy community • Roles (e.g. Sponsor, Champion, Mentor, etc.) • Tool for support for the newborn projects • Workflow with phases and responsible role • Existing projects’ experience is useful to the nascent projects • Some structures responsible of making decisions are useful to guarantee the projects are “compatible” with ecosystem • Focus on architecture issues • Avoids duplicating efforts COSI GoOpen 2009 29
    • JL-30 3 ways to use open source Use Open Source software  Integrate open source software in products and the development environment Share own source in the open  Open own (commodity) software  Grow a community around it  Use external maintenance and improvements Practices – inner source  Internal development with open source practices COSI GoOpen 2009 30
    • JL-31 OSS selection - learnings  OSS selection is an important issue for software developers  Work with OSS evaluation and selection processes resulted in different process models  This reflects two common trends in software development:  More time is spent on assessing, tailoring and integrating components  Commodification leads to general availability of OSS components  Linpro established their own selection process COSI GoOpen 2009 31
    • JL-32 OSS Selection – Case Studies Examples  Each company has addressed challenging issues within their organizations, and improved their process accordingly.  The selection processes differ with respect to  Selection scope (see next slide)  The focus and purpose of the improvement to the selection process COSI GoOpen 2009 32
    • JL-33 OSS Selection – Case Studies Examples  Different scope:  Evaluation of single component vs. Selection from list of components  Selection for single use (product/project) vs. Selection for multiple use (organizational reuse)  Selecting a component that will be part of a product vs. selecting a tool that will be used in software development  Different phases are covered (from evaluation only to full lifecycle).  Evaluation criteria are linked to company opportunities and risks COSI GoOpen 2009 33
    • JL-34 OSS selection – Results  Selecting an OSS component needs to address company’s  Requirements  Purpose  Goals  Identify critical selection criteria and collect information to assess them  Understand licensing to avoid unwanted restrictions on a product or service  Community assessment is a crucial criteria in most cases  Do not forget to assess the components functionality COSI GoOpen 2009 34
    • JL-35 Journals.Conferences and workshops papers  22 conference papers and 12 workshop papers on international conferences  Academic • International Conference on Open Source Systems • International Conference on Quality Software • International Conference on Software Maintenance • International Conference on Model Driven Engineering Languages and Systems • ….  Practitioners • Eclipse Summit Europe • Subversion Conference • Linux Conf Europe • ….  Journals (5)  IEEE Software (3)  IEEE Transactions on Software Engineering  International Journal of Business Innovation and Research COSI GoOpen 2009 35
    • JL-36 Dissemination  Achievements:  More than 50 publications by COSI members  4 main events organised  Many more events attended  Significant internet based dissemination. Web site has been maintained alive and full of contents  Web sites:  Library of assets hosted by Friprog (Norwegian Open Source Competence Center) • www.friprog.no/Laer-mer/Prosjekter/COSI-Library-of-Assets  External COSI website will be maintained during 3 more years • www.itea-cosi.org COSI GoOpen 2009 36
    • JL-37 Internet Library of Assets  Collection of project results that are available for the general public on the internet  Addresses inner and open source related topics  Contains  Process descriptions  Architecture designs  Papers on issues studied during COSI  Documented experiences from case studies  … COSI GoOpen 2009 37
    • JL-38 Conclusions – goals reached 1 distributed 2 agile 3 trust & concurrent developments in understanding in heterogeneous distributed open development settings collaborations outsourcing external in house bounded open collaborations collaborations company knowledge control & & cost ownership sharing 4 understand & use the shift software shift COSI GoOpen 2009 38
    • FAMILIER Programvareindustrien og fri programvare – erfaringer fra FoU-prosjekter Del 2 OSIRIS prosjektet Norges Forskningsråd støttet COSI og OSIRIS prosjektene Eureka ∑! 2023 Programme, ITEA projects COSI and OSIRIS IKT Norge, 19.05.09 39
    • FAMILIER Prosjektet Norsk OSIRIS • Open Source tjenesteplattform • Start: 1.7.2005 (i Norge) • Varighet 3 år • Norske aktiviteter: • Bidrag til felles tjenesteplattform • Nasjonale demonstrator prosjekter Norges Forskningsråd støttet COSI og OSIRIS prosjektene Eureka ∑! 2023 Programme, ITEA projects COSI and OSIRIS IKT Norge, 19.05.09 40
    • FAMILIER Open Source Infrastructure for Run-time Integration of Services OSIRIS is an across-domain open source service platform that will provide support for services provisioning, aggregation, delivery, dynamic adaptation to the context and lifecycle management through smooth integration of devices. Domotic Services Service Surveillance Provider Internet Home Gateway Multimedia Service/Content Services Aggregator Remote Work M Ac obil e ce ss GPS Content Provider Management Center Norges Forskningsråd støttet COSI og OSIRIS prosjektene Eureka ∑! 2023 Programme, ITEA projects COSI and OSIRIS IKT Norge, 19.05.09 41
    • FAMILIER An OSIRIS scenario Architecture: OSIRIS Norges Forskningsråd støttet COSI og OSIRIS prosjektene Eureka ∑! 2023 Programme, ITEA projects COSI and OSIRIS IKT Norge, 19.05.09 42
    • FAMILIER OSGi Norges Forskningsråd støttet COSI og OSIRIS prosjektene Eureka ∑! 2023 Programme, ITEA projects COSI and OSIRIS IKT Norge, 19.05.09 43
    • FAMILIER Osiris architecture in a nutshell Norges Forskningsråd støttet COSI og OSIRIS prosjektene Eureka ∑! 2023 Programme, ITEA projects COSI and OSIRIS IKT Norge, 19.05.09 44
    • FAMILIER Demonstrators organisation Business demonstrators Financial services Mobile CRM Tax Services Technology demonstrators e2e demonstrator Norges Forskningsråd støttet COSI og OSIRIS prosjektene Eureka ∑! 2023 Programme, ITEA projects COSI and OSIRIS IKT Norge, 19.05.09 45
    • FAMILIER What the CRM demonstrator does • Contact and Diary information available on the mobile • Live replication of CRM data from the central database • Abstract of a number of the last interactions between his company and a specific customer • Smart adaptation of services used • Map and route planner depending on price, bandwidth, accuracy Norges Forskningsråd, IKT programmet, OSIRIS prosjektet Eureka ∑! 2023 Programme, ITEA project ip04040, OSIRIS IKT Norge, 19.05.09 46
    • Demo Eureka ∑! 2023 Programme, ITEA project ip04040, OSIRIS ICT Norway 5/19/09 47
    • FAMILIER Mobile CRM service TellU SuperOffice CRM server CRM Demo Position 1 SMS GSM mobile 4 network MMS Call 2 3 UMTS Control Firewall Firewall GSN Internet SuperOffice CRM Client Map provider Norges Forskningsråd støttet COSI og OSIRIS prosjektene Eureka ∑! 2023 Programme, ITEA projects COSI and OSIRIS IKT Norge, 19.05.09 48
    • FAMILIER Tax Service Mobile OSIRIS OSIRIS phone Internet Internet Tax Authority (Light Connector ex. 1 Connector ex. 2 Weight Web Services Service frame Web Service node) protocol Client Digital TellU Forms distribution interactive TV and parsing system. (Light weight node) OSIRIS Profile Extensions OSIRIS Basic Node OSGi JVM Norges Forskningsråd støttet COSI og OSIRIS prosjektene Eureka ∑! 2023 Programme, ITEA projects COSI and OSIRIS IKT Norge, 19.05.09 49
    • FAMILIER N y e r et ningslinjer for m obile og DTV t jenest er 1. N av igasjon og ar beids f y t 2. Feil 3. Søk og sp ør sm ål 4. Inp ut / out pu t - t ek nik k er 5. Tid 6. Tek st og sp r åk 7. St em m e og ly d 8. Gr a fk k 9. Tall Norges Forskningsråd, IKT programmet, OSIRIS prosjektet 10. Hjelp og sup p or t Eureka ∑! 2023 Programme, ITEA project ip04040, OSIRIS IKT Norge, 19.05.09 50
    • FAMILIER Utvikling av skjemaer mobil Demonstrator Skjema- bygger • Skjema utvikles med skjemabygger • Output format er XForms XML • Skjema kan inneholde lyd og video • Skjemaer lagres i en skjemabank XForms Skjema- • Skjemaer vises på mobil av Tellus motor skjemamotor i hht tilpasset Elmer • Datafangst og validering utføres av Tellus skjemamotor • Resultat XML lagres i et passende repository (Altinn) Skjemamotor ligger dels på server og dels på mobiltelefon eller Settop boks. XForms skjema- Det tar kort tid å utvikle et nytt skjema. base Tiden er avhengig av kompleksiteten på skjemaet. Norges Forskningsråd støttet COSI og OSIRIS prosjektene Eureka ∑! 2023 Programme, ITEA projects COSI and OSIRIS IKT Norge, 19.05.09 51
    • Exploration • SuperOffice • mobile client under development, feature complete now • TellU: • Own product Actor Frame published as Open Source • Part of Telenor’s connected objects platform • Forms engine used when building services • Focus on universal design for user interface Eureka ∑! 2023 Programme, ITEA project ip04040, OSIRIS ICT Norway 5/19/09 52
    • FAMILIER http://www.itea-osiris.org Norges Forskningsråd, IKT programmet, OSIRIS prosjektet Eureka ∑! 2023 Programme, ITEA project ip04040, OSIRIS IKT Norge, 19.05.09 53