Taking the example of donating SpringSource dm Server to Eclipse.org as the Virgo project, this presentation considers the costs and (significant) benefits of such a donation. Improvements to Eclipse.org are suggested. Project leads should glean ideas to apply to their own projects. This file is licensed under the Eclipse Public License.
3D in the Browser via WebGL: It's Go Time Pascal Rettig
油
This document discusses the current state and future of WebGL. It begins with a brief history of 3D graphics standards and shows that WebGL is now enabled in major browsers. It then defines WebGL as a cross-platform API based on OpenGL ES 2.0 that allows 3D graphics rendering within web pages without plugins. Examples of WebGL applications and tutorials are provided. Frameworks for WebGL like Three.js and Copperlicht are presented as ways to abstract the low-level WebGL API for easier 3D programming.
This document provides an overview of Git and GitHub. It discusses Git's architecture, distributed model, reliability, and performance. Key Git concepts and commands like branching, merging, rebasing, and collaborating are explained. Visual Studio integration options for Git like msys-git, posh-git, and the Git provider are covered. The document concludes by discussing GitHub and how it can be integrated with Team City for code reviews via pull requests.
The document discusses Mozilla's transition from short iteration development cycles to a continuous deployment model. It describes the previous development process, outlines the new continuous deployment approach including acceptable risks and strategies for manual and automated testing. The presentation addresses concerns about trusting developers for testing, the Selenium test suite, QA roles, and how quality will be measured in this new model.
This document provides an overview of Android and mobile application development. It discusses the history and growth of Android, the Android architecture including activities, services, and content providers. It also covers the Android development process, tools, and best practices. The document demonstrates a simple "Hello World" Android app to introduce basic Android application building blocks.
Multi-bundle scoping techniques are essential for dividing large systems into loosely-coupled collections of bundles. If you are developing a large application with many bundles, you'll want to manage its complexity using a higher-level scoping mechanism than a single bundle.
For example, multi-bundle applications can be scoped to avoid unwanted interference between the applications. Another example is separating "kernel" bundles from applications supported by the kernel in order to increase the stability of the kernel, similarly to the way applications are separated from an operating system kernel.
This presentation, first given at EclipseCon Europe 2011, explores existing scoping mechanisms: metadata rewriting, composite bundles, framework hooks, and region digraphs.
It then covers scoping in the Subsystems draft OSGi standard for multi-bundle applications.
OSGi modularity provides benefits like encapsulated modules, explicit dependencies, and loose coupling via services. However, adopting OSGi also incurs costs like learning a new runtime, designing bundles and services, and debugging class loading issues. Case studies found that for some projects like the vSphere Web Client and Croatian Telecom systems, the benefits of OSGi modularity outweighed the costs. However, for other simpler projects, the costs may not be worth it compared to the benefits.
The document provides information about resources and support for education regarding national eating disorders. It directs readers to the website for the National Eating Disorders Association, stating that help is available through a phone call or online for those struggling with eating disorders and that support is available.
The document proposes the Eclipse Virgo project, which would create an open source OSGi server platform based on SpringSource dm Server v2.0. It outlines plans to donate the dm Server codebase and tooling to Eclipse projects under the EPL license, with an initial set of committers from the existing dm Server team. A roadmap is proposed to deliver an initial baseline release in 2Q2010 and join the Eclipse release train in 2011.
This document discusses continuous deployment and how Disqus implements it. It involves committing code changes to a master branch which then triggers an automated integration and deployment process. Failed builds are reported, while successful builds automatically deploy the changes. Rollbacks can also be performed if needed. The document outlines Disqus' development, testing, deployment, and reporting workflows and tools like Gargoyle, Sentry, Jenkins, Fabric and Graphite. It discusses challenges around stability, testing coverage, scaling and database changes.
Spotify: Horizontal Scalability for Great SuccessNick Barkas
油
The document discusses Spotify's use of horizontal scalability to handle its large user and music catalog sizes. It describes how Spotify scales out by distributing work across separate services and handling shared data through techniques like sharding and eventual consistency. Key approaches Spotify uses include running multiple instances of each service, using load balancers to distribute requests, storing only necessary data in globally consistent databases, and implementing distributed hash tables for service discovery.
The document discusses using Hudson for continuous integration (CI) in iOS development. It outlines the benefits of CI like automated builds, consistent code repositories, and automated testing. It then explains how Hudson works as a CI tool for iOS, including using a web UI, bash scripts, and daemons. Potential problems are also covered such as provisioning profiles and Xcode updates. Finally, areas for improvement are suggested like restarting Hudson after reboots and adding unit tests and static analysis.
This document appears to be a presentation about Ruby on Rails. It includes sections on Ruby and its features, Rails and its MVC architecture and conventions like DRY and REST. It demonstrates creating a scaffolding for a sample Rails application and deploying the application to Heroku. The goal is to provide an introduction and overview of Ruby and Rails for beginners.
Having problems with Android application compatibility? You're not alone.
From the very beginning of the Android platform, developers always had to cope with a very difficult target: developing on a moving platform, a very fast moving one.
Release after release, features and goodies piled up, but, to a minor extent, so did API differentiation. This talk will step through how platform releases can risk jeopardizing professional development of Android applications, analyzing how to keep consistent UI patterns and implementation, and ending with the biggest release since 1.0: Honeycomb.
This document outlines the past, present, and future of Java SE. In the past, Java gained widespread adoption for application development and the JRockit JVM provided high performance. Currently, efforts are focused on Java 7 and the convergence of Hotspot and JRockit. Going forward, trends like multi-core processors and cloud computing will influence Java's direction.
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CDDevOps_Fest
油
CI/CD process has been something your DevOps engineer purpose-built for your team. But with Kubernetes & cloud-native, thats becoming legacy. The rising level of platform abstraction allows all the good practices that the industry has developed over time to be integrated, hidden, and simplified behind just one practice called GitOps. That simplified world is what Jenkins X enables.
We will discuss GitOps, Jenkins X, and how that combination drastically simplifies cloud-native web app development. Youll understand why traditional DevOps is not suitable in a Kubernetes and cloud-native world, explore GitOps principles and discover how they facilitate high-velocity app development.
And finally, Kohsuke will make a fool of himself by talking about the future now that Jenkins X simplifies the CD process, where is the next frontier?
OSMC 2024 | Bow for me for I am Coroot by Kris Buytaert.pdfNETWAYS
油
Every once in a while, an open source tool pops up that blows you away For me coroot was such a tool and I`d like to share first impressions with you Coroot is an ebpf based o11y tool claims to be a competitor for Datadog and NewRelic licensed Apache 2.0 It fits in all ecosystems , This talk will show you what the tool does, how to deploy it , What you can get out of it and what our first impressions were and how it fits into the ecosystem. It might be interesting for both your security and performance challenges
The OSS Forge Ecosystem: Today and Tomorrowoostendo
油
The document discusses open source software forges and their ecosystem. It describes the core functions of forges, including source code control, documentation management, and distribution of software and project resources. It outlines different types of forges, including freemium, technology-focused, and community-focused forges. The document also examines challenges facing forge vendors and differences between using a forge and self-hosting.
Discover eZ Publish: why you have to know this productBertrand Dunogier
油
A presentation of eZ Publish from an evolution perspective: what our product went through, and how our long experience of content management has allowed us to be very ambitious in our rewrite of it.
Build software like a bag of marbles, not a castle of LEGO速Hannes Lowette
油
If you have ever played with LEGO速, you will know that adding, removing or changing features of a completed castle isnt as easy as it seems. You will have to deconstruct large parts to get to where you want to be, to build it all up again afterwards. Unfortunately, our software is often built the same way. Wouldnt it be better if our software behaved like a bag of marbles? So you can just add, remove or replace them at will?
Most of us have taken different approaches to building software: a big monolith, a collection of services, a bus architecture, etc. But whatever your large scale architecture is, at the granular level (a single service or host), you will probably still end up with tightly couple code. Adding functionality means making changes to every layer, service or component involved. It gets even harder if you want to enable or disable features for certain deployments: youll need to wrap code in feature flags, write custom DB migration scripts, etc. There has to be a better way!
So what if you think of functionality as loose feature assemblies? We can construct our code in such a way that adding a feature is as simple as adding the assembly to your deployment, and removing it is done by just deleting the file. We would open the door for so many scenarios!
In this talk, I will explain how to tackle the following parts of your application to achieve this goal: WebAPI, Entity Framework, Onion Architecture, IoC and database migrations. And most of all, when you would want to do this. Because it depends.
Creating a Global E-Commerce Website With E-Business Suite and Fusion MiddlewareBrian Huff
油
Creating an e-commerce web site is always a challenge, but it's even a bigger challenge if its a global website for a multinational firm in a heavily regulated industry. Thousands of products, hundreds of locales, different regulations, different prices, and different marketing collateral. Attend this session to see how we wired together E-Business Suite, WebLogic Portal, Universal Content Management, Identity Management, and Enterprise Search to meet the global business needs.
The document discusses HTML5 features for mobile development. It notes that HTML5 refers not just to the HTML5 specification, but also includes CSS3, audio/video, WebSockets, local storage, offline storage, Canvas, SVG, new touch/orientation events, and geolocation. While some features are missing compared to native mobile development, HTML5 allows for a single code base across devices and platforms. The document suggests HTML5 may achieve native-like performance within 1-2 years with optimization, and provides examples of HTML5 mobile apps and frameworks. It recognizes HTML5 as the last numbered HTML specification, with new features continuing to be added quickly by browsers.
The jQuery Foundation coordinates work on the jQuery project, including code, documentation, infrastructure, and events. It is a non-profit organization funded by conferences, donations, and memberships. The Foundation maintains jQuery and related projects like jQuery UI, jQuery Mobile, and QUnit on GitHub. jQuery 1.x continues to support older browsers while jQuery 2.x supports modern browsers, with both versions maintaining API compatibility. Major releases in 2012 included jQuery 1.9 in January and jQuery 2.0 in April.
The document discusses mobile hybrid applications, which use both web and native technologies together. It begins by covering mobile web apps and native mobile apps. Mobile hybrid apps are then introduced as apps that use primarily web technologies like HTML, CSS, and JavaScript within a native container. This allows accessing native device capabilities while developing using web technologies. Frameworks for building hybrid apps like PhoneGap, Titanium, and Cordova are also mentioned.
Talk apresentada no 21o RubyFloripa contando como foi a experi棚ncia em assumir uma app legada Rails e introduzir Elixir. Utilizando tecnologias como GenStage, AWS SQS e SNS.
The document is a presentation about professional tools for embedded Linux given at OSCON in 2012. It introduces the Yocto Project, which aims to unify embedded Linux development. It discusses the project's goals of providing consistent tools across architectures. It outlines the project components like the build system, libraries, and governance structure. It then covers the development process involving layers, recipes, and adjustment points. Finally, it provides instructions for getting started, including downloading, configuring, building, and using the Hob interface.
More Related Content
Similar to Donating a mature project to Eclipse (20)
This document discusses continuous deployment and how Disqus implements it. It involves committing code changes to a master branch which then triggers an automated integration and deployment process. Failed builds are reported, while successful builds automatically deploy the changes. Rollbacks can also be performed if needed. The document outlines Disqus' development, testing, deployment, and reporting workflows and tools like Gargoyle, Sentry, Jenkins, Fabric and Graphite. It discusses challenges around stability, testing coverage, scaling and database changes.
Spotify: Horizontal Scalability for Great SuccessNick Barkas
油
The document discusses Spotify's use of horizontal scalability to handle its large user and music catalog sizes. It describes how Spotify scales out by distributing work across separate services and handling shared data through techniques like sharding and eventual consistency. Key approaches Spotify uses include running multiple instances of each service, using load balancers to distribute requests, storing only necessary data in globally consistent databases, and implementing distributed hash tables for service discovery.
The document discusses using Hudson for continuous integration (CI) in iOS development. It outlines the benefits of CI like automated builds, consistent code repositories, and automated testing. It then explains how Hudson works as a CI tool for iOS, including using a web UI, bash scripts, and daemons. Potential problems are also covered such as provisioning profiles and Xcode updates. Finally, areas for improvement are suggested like restarting Hudson after reboots and adding unit tests and static analysis.
This document appears to be a presentation about Ruby on Rails. It includes sections on Ruby and its features, Rails and its MVC architecture and conventions like DRY and REST. It demonstrates creating a scaffolding for a sample Rails application and deploying the application to Heroku. The goal is to provide an introduction and overview of Ruby and Rails for beginners.
Having problems with Android application compatibility? You're not alone.
From the very beginning of the Android platform, developers always had to cope with a very difficult target: developing on a moving platform, a very fast moving one.
Release after release, features and goodies piled up, but, to a minor extent, so did API differentiation. This talk will step through how platform releases can risk jeopardizing professional development of Android applications, analyzing how to keep consistent UI patterns and implementation, and ending with the biggest release since 1.0: Honeycomb.
This document outlines the past, present, and future of Java SE. In the past, Java gained widespread adoption for application development and the JRockit JVM provided high performance. Currently, efforts are focused on Java 7 and the convergence of Hotspot and JRockit. Going forward, trends like multi-core processors and cloud computing will influence Java's direction.
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CDDevOps_Fest
油
CI/CD process has been something your DevOps engineer purpose-built for your team. But with Kubernetes & cloud-native, thats becoming legacy. The rising level of platform abstraction allows all the good practices that the industry has developed over time to be integrated, hidden, and simplified behind just one practice called GitOps. That simplified world is what Jenkins X enables.
We will discuss GitOps, Jenkins X, and how that combination drastically simplifies cloud-native web app development. Youll understand why traditional DevOps is not suitable in a Kubernetes and cloud-native world, explore GitOps principles and discover how they facilitate high-velocity app development.
And finally, Kohsuke will make a fool of himself by talking about the future now that Jenkins X simplifies the CD process, where is the next frontier?
OSMC 2024 | Bow for me for I am Coroot by Kris Buytaert.pdfNETWAYS
油
Every once in a while, an open source tool pops up that blows you away For me coroot was such a tool and I`d like to share first impressions with you Coroot is an ebpf based o11y tool claims to be a competitor for Datadog and NewRelic licensed Apache 2.0 It fits in all ecosystems , This talk will show you what the tool does, how to deploy it , What you can get out of it and what our first impressions were and how it fits into the ecosystem. It might be interesting for both your security and performance challenges
The OSS Forge Ecosystem: Today and Tomorrowoostendo
油
The document discusses open source software forges and their ecosystem. It describes the core functions of forges, including source code control, documentation management, and distribution of software and project resources. It outlines different types of forges, including freemium, technology-focused, and community-focused forges. The document also examines challenges facing forge vendors and differences between using a forge and self-hosting.
Discover eZ Publish: why you have to know this productBertrand Dunogier
油
A presentation of eZ Publish from an evolution perspective: what our product went through, and how our long experience of content management has allowed us to be very ambitious in our rewrite of it.
Build software like a bag of marbles, not a castle of LEGO速Hannes Lowette
油
If you have ever played with LEGO速, you will know that adding, removing or changing features of a completed castle isnt as easy as it seems. You will have to deconstruct large parts to get to where you want to be, to build it all up again afterwards. Unfortunately, our software is often built the same way. Wouldnt it be better if our software behaved like a bag of marbles? So you can just add, remove or replace them at will?
Most of us have taken different approaches to building software: a big monolith, a collection of services, a bus architecture, etc. But whatever your large scale architecture is, at the granular level (a single service or host), you will probably still end up with tightly couple code. Adding functionality means making changes to every layer, service or component involved. It gets even harder if you want to enable or disable features for certain deployments: youll need to wrap code in feature flags, write custom DB migration scripts, etc. There has to be a better way!
So what if you think of functionality as loose feature assemblies? We can construct our code in such a way that adding a feature is as simple as adding the assembly to your deployment, and removing it is done by just deleting the file. We would open the door for so many scenarios!
In this talk, I will explain how to tackle the following parts of your application to achieve this goal: WebAPI, Entity Framework, Onion Architecture, IoC and database migrations. And most of all, when you would want to do this. Because it depends.
Creating a Global E-Commerce Website With E-Business Suite and Fusion MiddlewareBrian Huff
油
Creating an e-commerce web site is always a challenge, but it's even a bigger challenge if its a global website for a multinational firm in a heavily regulated industry. Thousands of products, hundreds of locales, different regulations, different prices, and different marketing collateral. Attend this session to see how we wired together E-Business Suite, WebLogic Portal, Universal Content Management, Identity Management, and Enterprise Search to meet the global business needs.
The document discusses HTML5 features for mobile development. It notes that HTML5 refers not just to the HTML5 specification, but also includes CSS3, audio/video, WebSockets, local storage, offline storage, Canvas, SVG, new touch/orientation events, and geolocation. While some features are missing compared to native mobile development, HTML5 allows for a single code base across devices and platforms. The document suggests HTML5 may achieve native-like performance within 1-2 years with optimization, and provides examples of HTML5 mobile apps and frameworks. It recognizes HTML5 as the last numbered HTML specification, with new features continuing to be added quickly by browsers.
The jQuery Foundation coordinates work on the jQuery project, including code, documentation, infrastructure, and events. It is a non-profit organization funded by conferences, donations, and memberships. The Foundation maintains jQuery and related projects like jQuery UI, jQuery Mobile, and QUnit on GitHub. jQuery 1.x continues to support older browsers while jQuery 2.x supports modern browsers, with both versions maintaining API compatibility. Major releases in 2012 included jQuery 1.9 in January and jQuery 2.0 in April.
The document discusses mobile hybrid applications, which use both web and native technologies together. It begins by covering mobile web apps and native mobile apps. Mobile hybrid apps are then introduced as apps that use primarily web technologies like HTML, CSS, and JavaScript within a native container. This allows accessing native device capabilities while developing using web technologies. Frameworks for building hybrid apps like PhoneGap, Titanium, and Cordova are also mentioned.
Talk apresentada no 21o RubyFloripa contando como foi a experi棚ncia em assumir uma app legada Rails e introduzir Elixir. Utilizando tecnologias como GenStage, AWS SQS e SNS.
The document is a presentation about professional tools for embedded Linux given at OSCON in 2012. It introduces the Yocto Project, which aims to unify embedded Linux development. It discusses the project's goals of providing consistent tools across architectures. It outlines the project components like the build system, libraries, and governance structure. It then covers the development process involving layers, recipes, and adjustment points. Finally, it provides instructions for getting started, including downloading, configuring, building, and using the Hob interface.
7. Was dm Server Mature?
Users in production on v1 & v2
Principled design
Clean code
Extensive test suite (with CI)
Based on, and in鍖uencing, standards
Tuesday, 22 March 2011
8. Why donate it?
Remove adoption inhibitors
GPL
Single vendor
Collaborate on usability
Build
Application development tooling
Tuesday, 22 March 2011
9. Why Eclipse.org?
Permissive license
Governance & IP process
Built on Equinox & Eclipse
EclipseRT needed a runtime
Tuesday, 22 March 2011
14. Licensing
SpringSource
dm Server Eclipse Virgo
GPL + EPL
commercial
OSGi Web Gemini Web
Container
Apache EPL + Apache
Tuesday, 22 March 2011
15. Eclipse IP Process
Scrutiny
Source code
License
Pedigree
Contribution & dependencies
Tuesday, 22 March 2011
16. IP Process Costs
Raised 200 CQs
Deleted 2 dependencies
Tweaked 3rd party licensing
Tuesday, 22 March 2011
17. IP Process Bene鍖ts
Assured license/pedigree
Recorded dependencies
Improved licensing, e.g.
JWebUnit LGPL
mime.types 鍖le in Spring
Tuesday, 22 March 2011
18. IP Process Improvements
Clarify:
Downstream distribution
Works with dependencies
Policy for build/test dependencies
Automate release checks (WIP)
Tuesday, 22 March 2011
20. Build/Test Infrastructure
Moved CI to hudson.eclipse.org
Tool issues
False positives
Sharing vs stability
Virtualisation?
Tuesday, 22 March 2011
21. Search Infrastructure
Private OpenGrok
Too much code to remember
22 git repos
No search at eclipse.org
Public OpenGrok
http://virgo-opengrok.springsource.org/
Tuesday, 22 March 2011
23. Moving the Community
Generally willing
Incompatibilities
Package names
Dropped function
Migration to Virgo 2.1
Minimised
Migration notes
Tuesday, 22 March 2011
24. Effect on Committers
JIRA replaced by bugzilla + Acunote
Distributed sprint planning
Concurrent sprints
Tuesday, 22 March 2011
25. Summary
Was it worth it?
Tuesday, 22 March 2011
26. Bene鍖ts of Donating
Increase adoption
Permissive license
Multi-vendor
Improve usability
Build
Application development tooling
Tuesday, 22 March 2011
27. Bene鍖ts of Eclipse.org
Code
Intellectual property
Infrastructure
Community
Tuesday, 22 March 2011
29. Thanks to...
Project histories - wikipedia
HP Garage - http://www.hp.com
Road signs - Alexander Baxevanis
OOXML demo - Martin Bekkelund
Rugby scrum - Clumsy Jim
Tuesday, 22 March 2011
30. Related Sessions
Building web apps with EclipseRT
Yesterday, but come to the Virgo BoF
Snaps, modular & dynamic web apps with Virgo
Tomorrow 10:40-11:00, Ballroom D
Virgo and RT playing together
Tomorrow 11:10-11:30, Ballroom BC
Virgo BoF
Shooting for tomorrow 7:30-8:30pm
Hands on with Gemini & Virgo
Thursday 10:30-12:30, Ballroom D
Tuesday, 22 March 2011