The explosion of new open source projects is changing the game for today’s Java developers. With literally hundreds of thousands of FOSS projects underway, the opportunity to leverage open source to deliver “the trifecta” (faster/better/cheaper) has never been better. In this session we will explore tools and resources that can help you navigate the vast world of open source projects, in addition to sharing tips and tricks that will help you narrow the field so you can quickly get to the right projects for your next application.
Tutorial on Using Amazon Mechanical Turk (MTurk) for HCI ResearchEd Chi
1. The document discusses using crowdsourcing platforms like Mechanical Turk for conducting user studies and collecting data for human-computer interaction (HCI) research.
2. It describes experiments where crowdsourced workers provided ratings of Wikipedia articles that correlated reasonably well with expert ratings, with some initial issues around gaming that were addressed through task design changes.
3. It provides tips for using crowdsourcing effectively for HCI research, such as using verifiable questions to ensure quality, balancing objective and subjective tasks, and considering different incentive mechanisms.
Open Source Secret Sauce - Lugor Sep 2011Ted Husted
The document discusses the "Open Source Secret Sauce" - how open source projects are able to create compelling software through a volunteer model. It explains that open source projects use portals, repositories, issue trackers, mailing lists, and automated builds (PRIMA) to coordinate work. The Apache Software Foundation is provided as a successful example, with its meritocratic process allowing developers to do work and make decisions through consensus-based voting. The opportunity for open source is that it can produce successful software to solve problems like failed commercial projects.
The recent and fast expansion of OSS (Open-source software) communities has fostered research on how open source projects evolve and how their communities interact. Several research studies show that the inflow of new developers plays an important role in the longevity and the success of OSS projects. Beside that they also discovered that an high percentage of newcomers tend to leave the project because of the socio-technical barriers they meet when they join the project. However, such research effort did not generate yet concrete results in support retention and training of project newcomers. In this thesis dissertation we investigated problems arising when newcomers join software projects, and possible solutions to support them. Specifically, we studied (i) how newcomers behave during development activities and how they interact with others developers with the aim at (ii) developing tools and/or techniques for supporting them during the integration in the development team. Thus, among the various recommenders, we defined (i) a tool able to suggest appropriate mentors to newcomers during the training stage; then, with the aim at supporting newcomers during program comprehension we defined other two recommenders: a tool that (ii) generates high quality source code summaries and another tool able to (iii) provide descriptions of specific source code elements. For future work, we plan to improve the proposed recommenders and to integrate other kind of recommenders to better support newcomers in OSS projects.
DSC UTeM DevOps Session#1: Intro to DevOps Presentation SlidesDSC UTeM
DevOps has been such a buzzword in the IT field nowadays. If you look into job postings, you might be surprised to find terms like "work with DevOps team", "work in an agile team" etc.
What is DevOps? What is agile? And why all these? 樂
Join us on 24 May 2021, where we have a short session to explore on the events that led to the trend nowadays
We will be exploring on the current trends, tech stacks and the existence of DevOps itself! 朗
Mark this date on your calendar and we'll see you there!
* Note: This is an introductory "brief overview" session that gives you context on our upcoming events.
Slides by KwongTN.
Identify Development Pains and Resolve Them with Idea FlowTechWell
With the explosion of new frameworks, a mountain of automation, and our applications distributed across hundreds of services in the cloud, the level of complexity in software development is growing at an insane pace. With increased complexity comes increased costs and risks. When diagnosing unexpected behavior can take days, weeks, or sometimes months, all while our release is on the line, our projects plunge into chaos. In the invisible world of software development, how do we identify what's causing our pain? How do we escape the chaos? Janelle Klein presents a novel approach to measuring the chaos, identifying the causes, and systematically driving improvement with a data-driven feedback loop. Rather than measuring the problems in the code, Janelle suggests measuring the "friction in Idea Flow", the time it takes a developer to diagnose and resolve unexpected confusion, which disrupts the flow of progress during development. With visibility of the symptoms, we can identify the cause—whether it's bad architecture, collaboration problems, or technical debt. Janelle discusses how to measure Idea Flow, why it matters, and the implications for our teams, our organizations, and our industry.
This document provides summaries of various distributed file systems and distributed programming frameworks that are part of the Hadoop ecosystem. It summarizes Apache HDFS, GlusterFS, QFS, Ceph, Lustre, Alluxio, GridGain, XtreemFS, Apache Ignite, Apache MapReduce, and Apache Pig. For each one it provides 1-3 links to additional resources about the project.
Oscon 2016: open source lessons from the todo groupBen VanEvery
The document summarizes lessons learned from open source programs at several major tech companies presented at an event by the TODO Group. The TODO Group is a collaboration of companies who share practices for running successful open source programs. Several companies including Netflix, Microsoft, Capital One, Box, Sandisk, Google and Yahoo discussed how they scale their open source programs, build communities, and realize strategic benefits from their involvement in open source.
Tutorial on Using Amazon Mechanical Turk (MTurk) for HCI ResearchEd Chi
1. The document discusses using crowdsourcing platforms like Mechanical Turk for conducting user studies and collecting data for human-computer interaction (HCI) research.
2. It describes experiments where crowdsourced workers provided ratings of Wikipedia articles that correlated reasonably well with expert ratings, with some initial issues around gaming that were addressed through task design changes.
3. It provides tips for using crowdsourcing effectively for HCI research, such as using verifiable questions to ensure quality, balancing objective and subjective tasks, and considering different incentive mechanisms.
Open Source Secret Sauce - Lugor Sep 2011Ted Husted
The document discusses the "Open Source Secret Sauce" - how open source projects are able to create compelling software through a volunteer model. It explains that open source projects use portals, repositories, issue trackers, mailing lists, and automated builds (PRIMA) to coordinate work. The Apache Software Foundation is provided as a successful example, with its meritocratic process allowing developers to do work and make decisions through consensus-based voting. The opportunity for open source is that it can produce successful software to solve problems like failed commercial projects.
The recent and fast expansion of OSS (Open-source software) communities has fostered research on how open source projects evolve and how their communities interact. Several research studies show that the inflow of new developers plays an important role in the longevity and the success of OSS projects. Beside that they also discovered that an high percentage of newcomers tend to leave the project because of the socio-technical barriers they meet when they join the project. However, such research effort did not generate yet concrete results in support retention and training of project newcomers. In this thesis dissertation we investigated problems arising when newcomers join software projects, and possible solutions to support them. Specifically, we studied (i) how newcomers behave during development activities and how they interact with others developers with the aim at (ii) developing tools and/or techniques for supporting them during the integration in the development team. Thus, among the various recommenders, we defined (i) a tool able to suggest appropriate mentors to newcomers during the training stage; then, with the aim at supporting newcomers during program comprehension we defined other two recommenders: a tool that (ii) generates high quality source code summaries and another tool able to (iii) provide descriptions of specific source code elements. For future work, we plan to improve the proposed recommenders and to integrate other kind of recommenders to better support newcomers in OSS projects.
DSC UTeM DevOps Session#1: Intro to DevOps Presentation SlidesDSC UTeM
DevOps has been such a buzzword in the IT field nowadays. If you look into job postings, you might be surprised to find terms like "work with DevOps team", "work in an agile team" etc.
What is DevOps? What is agile? And why all these? 樂
Join us on 24 May 2021, where we have a short session to explore on the events that led to the trend nowadays
We will be exploring on the current trends, tech stacks and the existence of DevOps itself! 朗
Mark this date on your calendar and we'll see you there!
* Note: This is an introductory "brief overview" session that gives you context on our upcoming events.
Slides by KwongTN.
Identify Development Pains and Resolve Them with Idea FlowTechWell
With the explosion of new frameworks, a mountain of automation, and our applications distributed across hundreds of services in the cloud, the level of complexity in software development is growing at an insane pace. With increased complexity comes increased costs and risks. When diagnosing unexpected behavior can take days, weeks, or sometimes months, all while our release is on the line, our projects plunge into chaos. In the invisible world of software development, how do we identify what's causing our pain? How do we escape the chaos? Janelle Klein presents a novel approach to measuring the chaos, identifying the causes, and systematically driving improvement with a data-driven feedback loop. Rather than measuring the problems in the code, Janelle suggests measuring the "friction in Idea Flow", the time it takes a developer to diagnose and resolve unexpected confusion, which disrupts the flow of progress during development. With visibility of the symptoms, we can identify the cause—whether it's bad architecture, collaboration problems, or technical debt. Janelle discusses how to measure Idea Flow, why it matters, and the implications for our teams, our organizations, and our industry.
This document provides summaries of various distributed file systems and distributed programming frameworks that are part of the Hadoop ecosystem. It summarizes Apache HDFS, GlusterFS, QFS, Ceph, Lustre, Alluxio, GridGain, XtreemFS, Apache Ignite, Apache MapReduce, and Apache Pig. For each one it provides 1-3 links to additional resources about the project.
Oscon 2016: open source lessons from the todo groupBen VanEvery
The document summarizes lessons learned from open source programs at several major tech companies presented at an event by the TODO Group. The TODO Group is a collaboration of companies who share practices for running successful open source programs. Several companies including Netflix, Microsoft, Capital One, Box, Sandisk, Google and Yahoo discussed how they scale their open source programs, build communities, and realize strategic benefits from their involvement in open source.
This presentation is delivered as part of the Faculty training program at Kristu Jayanthi College, Bangalore. The intent was to help students build competency and contribute to open source projects. Also which will eventually help them to build professional career in open source connected domains.
This event was organized by the SODA Foundation and lots of fabulous speakers delivered the series. Thank you SODA!!!!
The lessons I learned is that Open source quickly becomes the natural choice wherever commoditization is happening in the software stack. Thus we expect business-to-business open source, which is already a significant trend in recent history, to become an increasingly common form of open source collaboration. Companies who understand the ground rules of business-to-business open source will be better positioned to identify and take advantage of open source opportunities in the competitive spaces that they share with other companies.
So I will share why open strategy is import for the enterprise. And how to do contributions for the open source projects n today’s topic.
This document provides tips for students participating in Google Summer of Code (GSoC). It emphasizes that the key prerequisites are a passion for open source, writing open source projects, and learning new things. Students should find projects on sites like openhatch.org and github and start small by forking projects, making changes, and submitting pull requests. Well-known projects have dedicated developers. Students should get involved early, write a detailed proposal, communicate frequently with developers, and contribute as much outside of GSoC. Open source has a consensus-based culture where criticism is meant to improve work and egos should be dropped. Mistakes are part of learning, and students should not get discouraged.
Intro to open source - 101 presentationJavier Perez
This document provides an overview of open-source software and how to get started with it. It discusses the history of open-source software dating back to 1955. It defines key open-source concepts like licenses, roles, and best practices for contributing. It also highlights the large open-source ecosystems existing today and the top companies contributing to open-source. The document aims to address common questions or concerns about open-source software.
The document summarizes proceedings from an OpenESB summit held on October 4-5, 2010. Key outcomes included setting up OpenESB community infrastructure, migrating code to new repositories, and investigating a new domain name. Participants agreed to publish meeting minutes and create mailing lists. The next meeting was scheduled for March 2011 in the US. Formerly led by Sun Microsystems, OpenESB development is now led by LogiCoy, an organization formed from former Sun employees committed to open source.
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...Lucas Jellema
For a long time I have been reluctant to actively contribute to an open source project. I thought it would be rather complicated and demanding – and that I didn't have the knowledge or skills for it or at the very least that they (the project team) weren't waiting for me.
In December 2021, I decided to have a serious input into the Dapr.io project – and now finally to determine how it works and whether it is really that complicated. In this session I want to tell you about my experiences. How Fork, Clone, Branch, Push (and PR) is the rhythm of contributing to an open source project and how you do that (these are all Git actions against GitHub repositories). How to learn how such a project functions and how to connect to it; which tools are needed, which communication channels are used. I tell how the standards of the project – largely automatically enforced – help me to become a better software engineer, with an eye for readability and testability of the code.
How the review process is quite exciting once you have offered your contribution. And how the final "merge to master" of my contribution and then the actual release (Dapr 1.6 contains my first contribution) are nice milestones.
I hope to motivate participants in this session to also take the step yourself and contribute to an open source project in the form of issues or samples, documentation or code. It's valuable to the community and the specific project and I think it's definitely a valuable experience for the "contributer". I looked up to it and now that I've done it gives me confidence – and it tastes like more (I could still use some help with the work on Dapr.io, by the way).
A successful startup requires the best possible talent. Great people are out there, but how do you find them? And how do you make them want to work for you? This session focuses on identifying the positions necessary for your startup to scale, attracting the best talent using limited resources, and making sure you have a plan in place to find the right people for the job.
Open source refers to the process by which software is created, not the software itself. The open source process involves voluntary participation where anyone can contribute code freely and choose what tasks to work on. It relies on collaboration between many developers worldwide who are motivated to scratch an itch, avoid reinventing the wheel, solve problems in parallel, and leverage the law of large numbers through continuous beta testing. Documentation and frequent releases are also important aspects of open source development.
But we're already open source! Why would I want to bring my code to Apache?gagravarr
From ApacheCon Europe 2015 in Budapest
So, your business has already opened sourced some of its code? Great! Or you're thinking about it? That's fine! But now, someone's asking you about giving it to these Apache people? What's up with that, and why isn't just being open source enough?
In this talk, we'll look at several real world examples of where companies have chosen to contribute their existing open source code to the Apache Software Foundation. We'll see the advantages they got from it, the problems they faced along the way, why they did it, and how it helped their business. We'll also look briefly at where it may not be the right fit.
Wondering about how to take your business's open source involvement to the next level, and if contributing to projects at the Apache Software Foundation will deliver RoI, then this is the talk for you!
SLE/GPCE Keynote: What's the value of an end user? Platforms and Research: Th...Stéphane Ducasse
This talk will present the synergy arising from building platforms on top of which do our research. RMOD our team [1] is developing two platforms: Pharo (a dynamic reflective object-oriented language supporting live programming) and Moose (an open-source software analysis platform [2]). Developing platforms forces us to develop really usable systems. While some activities are more engineering than research per se, it is really interesting to deeply understand problems or impacts of certain design decisions. Developing platforms is rewarding because it is more a long term effort and ensures a degree of stability. Platforms also often exhibit non-linear growth that is really exciting. Finally this setup raises many interesting questions such as “What is the value in terms of citations or published papers of a couple of end-users”, or “Is it not really stupid not to work on latest hype language?” To try to open our minds, I will draw parallels with the notion of wealth of an ecosystem in biology. In the second part of the talk I will present some selected results around Pharo and Moose such as: automatic minimal system core generation, dynamic core updates, selector namespace, dependencies in past commit branches and automatic migration rule generation.
[1] http://rmod.lille.inria.fr/
[2] http://www.moosetechnology.org/
[3] http://www.pharo.org/
stackconf 2022: The State of DevOps and ObservabilityNETWAYS
What are your challenges with Kubernetes? How long does troubleshooting take? Which tools do you use? Who handles monitoring and observability? Now’s your chance to get perspectives from over 1000 engineers across the globe and check out the pulse of DevOps in 2022. Kubernetes, monitoring, observability — all these challenges and more have escalated in WFH era. How are you handling them? What strategies and tools have helped your peers adapt? Now’s your chance to get perspectives of over 1000 engineers across the globe in the DevOps Pulse 2022.
2013 Velocity DevOps Metrics -- It's Not Just For WebOps Any More!Gene Kim
The document summarizes key findings from a 2012 survey on DevOps practices conducted by Puppet Labs, Gene Kim, and Jez Humble. The survey had over 4000 responses and aimed to understand the link between DevOps behaviors and performance. Key findings included that high performing DevOps teams deployed code much more frequently (30x more), had significantly shorter lead times for changes (8000x shorter), and were more reliable with fewer failed changes and faster mean time to restore service. Technical practices like infrastructure automation and version control correlated strongly with better performance. Organizations that adopted DevOps practices over 12 months prior performed significantly better. The document also discusses challenges in measuring culture and psychographics in DevOps.
OSGeo and LocationTech are both organizations that support open source geospatial software. OSGeo is a non-profit foundation that aims to support collaborative development and promote widespread use of open source geospatial software. LocationTech is an Eclipse working group that develops advanced location technologies. Both organizations provide resources for projects like code sprints, marketing assistance, and incubation processes to help projects with open development. The incubation processes differ in some ways, with LocationTech providing more automated processes through the Eclipse infrastructure and more frequent IP reviews, while OSGeo incubation can take 1-6 years but provides more flexibility. Both organizations complement each other in supporting the geospatial open source community.
How open source is driving DevOps innovation: CloudOpen NA 2015Gordon Haff
It’s no coincidence that all the interest around DevOps today comes at a time when open source technologies and processes are so dominant in cloud computing, data storage and analysis, and--increasingly--in networking. Innovations in Linux and other projects, including containers, configuration management, and continuous integration, are what make DevOps workflows and portable application deployments possible. But it’s also the result of open source culture, practices, and the tools supporting those practices that have made iterative development and collaboration such a powerful model for creating great software in communities. And now, they’re also providing a template for how to develop and operate applications internally within enterprises. In this session, we will discuss how open source tools and practices can be applied to create effective DevOps workflows and practices.
The document discusses Google's engineering culture and infrastructure. It provides an overview of Google's practices around code review, team programming using tools like Gerrit, and the engineering pipeline. It also shares personal stories from software engineers and principles for balancing process with creativity.
The document discusses the characteristics of thriving open source software projects. It identifies three types of projects - dead, surviving, and thriving. Thriving projects are described as having five key characteristics: 1) being easy to contribute to, 2) being scalable and maintainable, 3) having a growing community, 4) having a growing reputation, and 5) having a good leadership team. Various metrics for evaluating projects based on these characteristics are provided. A case study of the Weex project is also examined.
- Twitter relies heavily on open source software and contributes a significant amount of code back to the open source community.
- In 2011, Twitter created an Open Source Office to direct all open source efforts related to compliance, standards, and engineering outreach.
- The Open Source Office established review processes, licensing guidelines, and development best practices to manage open source code in a transparent and compliant manner while still facilitating contributions and collaboration.
Everything I know about software in spaghetti bolognese: managing complexityJAX London
None of of us enjoy spaghetti code, much less spaghetti builds, spaghetti tests, or spaghetti classpaths. Some days software engineering seems like the struggle against spaghetti - modern projects often become a large and complex tangle of source code and resources, and the runtime interactions are even worse! This means many projects are hard to navigate, difficult to extend and problematic to deploy/run. You only have to look at the OpenJDK itself to see the problems it faces in trying to have a smaller deployment and runtime footprint! Jigsaw was to be the inbuilt solution for the OpenJDK, extending beyond the JVM itself to help applications with their modularisation story (i.e. Jigsaw or OSGi). Sadly, Jigsaw is not going to make it for Java 8, so developers are left with only a few tooling choices in order to help them. However, tooling is only part of the answer in managing the complexity. What really matters in avoiding a noodly mess is the layout of your source code and resources, clear contracts, and how you think about the dependencies your code has at runtime. Dr Holly Cummins and Martijn Verburg will take you through some of the practical design decisions you can take to help modularise your application properly, independent of tooling. Time permitting they'll then showcase some of tooling support that OSGi can bring to the table as the premier modularity system for Java today.
Devops with the S for Sharing - Patrick DeboisJAX London
Devops means many things to many people. Even without a clear definition people instantly understand the problem space, while the solution space is much more complex and layered. In this talk on devops, different fields and practices will be presented, including how Devops is related to Agile and Lean, and the central roles that infrastructure as code, metrics and monitoring have. Many devops talks relate to the CAMS acronym : Culture, Automation, Measuring and Sharing. The S for Sharing is usually taken for granted and does not get much explanation, but in this talk it will be right in the centre. Without Sharing there is no Devops and successful adoption is impossible.
More Related Content
Similar to Why FLOSS is a Java developer's best friend: Dave Gruber
This presentation is delivered as part of the Faculty training program at Kristu Jayanthi College, Bangalore. The intent was to help students build competency and contribute to open source projects. Also which will eventually help them to build professional career in open source connected domains.
This event was organized by the SODA Foundation and lots of fabulous speakers delivered the series. Thank you SODA!!!!
The lessons I learned is that Open source quickly becomes the natural choice wherever commoditization is happening in the software stack. Thus we expect business-to-business open source, which is already a significant trend in recent history, to become an increasingly common form of open source collaboration. Companies who understand the ground rules of business-to-business open source will be better positioned to identify and take advantage of open source opportunities in the competitive spaces that they share with other companies.
So I will share why open strategy is import for the enterprise. And how to do contributions for the open source projects n today’s topic.
This document provides tips for students participating in Google Summer of Code (GSoC). It emphasizes that the key prerequisites are a passion for open source, writing open source projects, and learning new things. Students should find projects on sites like openhatch.org and github and start small by forking projects, making changes, and submitting pull requests. Well-known projects have dedicated developers. Students should get involved early, write a detailed proposal, communicate frequently with developers, and contribute as much outside of GSoC. Open source has a consensus-based culture where criticism is meant to improve work and egos should be dropped. Mistakes are part of learning, and students should not get discouraged.
Intro to open source - 101 presentationJavier Perez
This document provides an overview of open-source software and how to get started with it. It discusses the history of open-source software dating back to 1955. It defines key open-source concepts like licenses, roles, and best practices for contributing. It also highlights the large open-source ecosystems existing today and the top companies contributing to open-source. The document aims to address common questions or concerns about open-source software.
The document summarizes proceedings from an OpenESB summit held on October 4-5, 2010. Key outcomes included setting up OpenESB community infrastructure, migrating code to new repositories, and investigating a new domain name. Participants agreed to publish meeting minutes and create mailing lists. The next meeting was scheduled for March 2011 in the US. Formerly led by Sun Microsystems, OpenESB development is now led by LogiCoy, an organization formed from former Sun employees committed to open source.
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...Lucas Jellema
For a long time I have been reluctant to actively contribute to an open source project. I thought it would be rather complicated and demanding – and that I didn't have the knowledge or skills for it or at the very least that they (the project team) weren't waiting for me.
In December 2021, I decided to have a serious input into the Dapr.io project – and now finally to determine how it works and whether it is really that complicated. In this session I want to tell you about my experiences. How Fork, Clone, Branch, Push (and PR) is the rhythm of contributing to an open source project and how you do that (these are all Git actions against GitHub repositories). How to learn how such a project functions and how to connect to it; which tools are needed, which communication channels are used. I tell how the standards of the project – largely automatically enforced – help me to become a better software engineer, with an eye for readability and testability of the code.
How the review process is quite exciting once you have offered your contribution. And how the final "merge to master" of my contribution and then the actual release (Dapr 1.6 contains my first contribution) are nice milestones.
I hope to motivate participants in this session to also take the step yourself and contribute to an open source project in the form of issues or samples, documentation or code. It's valuable to the community and the specific project and I think it's definitely a valuable experience for the "contributer". I looked up to it and now that I've done it gives me confidence – and it tastes like more (I could still use some help with the work on Dapr.io, by the way).
A successful startup requires the best possible talent. Great people are out there, but how do you find them? And how do you make them want to work for you? This session focuses on identifying the positions necessary for your startup to scale, attracting the best talent using limited resources, and making sure you have a plan in place to find the right people for the job.
Open source refers to the process by which software is created, not the software itself. The open source process involves voluntary participation where anyone can contribute code freely and choose what tasks to work on. It relies on collaboration between many developers worldwide who are motivated to scratch an itch, avoid reinventing the wheel, solve problems in parallel, and leverage the law of large numbers through continuous beta testing. Documentation and frequent releases are also important aspects of open source development.
But we're already open source! Why would I want to bring my code to Apache?gagravarr
From ApacheCon Europe 2015 in Budapest
So, your business has already opened sourced some of its code? Great! Or you're thinking about it? That's fine! But now, someone's asking you about giving it to these Apache people? What's up with that, and why isn't just being open source enough?
In this talk, we'll look at several real world examples of where companies have chosen to contribute their existing open source code to the Apache Software Foundation. We'll see the advantages they got from it, the problems they faced along the way, why they did it, and how it helped their business. We'll also look briefly at where it may not be the right fit.
Wondering about how to take your business's open source involvement to the next level, and if contributing to projects at the Apache Software Foundation will deliver RoI, then this is the talk for you!
SLE/GPCE Keynote: What's the value of an end user? Platforms and Research: Th...Stéphane Ducasse
This talk will present the synergy arising from building platforms on top of which do our research. RMOD our team [1] is developing two platforms: Pharo (a dynamic reflective object-oriented language supporting live programming) and Moose (an open-source software analysis platform [2]). Developing platforms forces us to develop really usable systems. While some activities are more engineering than research per se, it is really interesting to deeply understand problems or impacts of certain design decisions. Developing platforms is rewarding because it is more a long term effort and ensures a degree of stability. Platforms also often exhibit non-linear growth that is really exciting. Finally this setup raises many interesting questions such as “What is the value in terms of citations or published papers of a couple of end-users”, or “Is it not really stupid not to work on latest hype language?” To try to open our minds, I will draw parallels with the notion of wealth of an ecosystem in biology. In the second part of the talk I will present some selected results around Pharo and Moose such as: automatic minimal system core generation, dynamic core updates, selector namespace, dependencies in past commit branches and automatic migration rule generation.
[1] http://rmod.lille.inria.fr/
[2] http://www.moosetechnology.org/
[3] http://www.pharo.org/
stackconf 2022: The State of DevOps and ObservabilityNETWAYS
What are your challenges with Kubernetes? How long does troubleshooting take? Which tools do you use? Who handles monitoring and observability? Now’s your chance to get perspectives from over 1000 engineers across the globe and check out the pulse of DevOps in 2022. Kubernetes, monitoring, observability — all these challenges and more have escalated in WFH era. How are you handling them? What strategies and tools have helped your peers adapt? Now’s your chance to get perspectives of over 1000 engineers across the globe in the DevOps Pulse 2022.
2013 Velocity DevOps Metrics -- It's Not Just For WebOps Any More!Gene Kim
The document summarizes key findings from a 2012 survey on DevOps practices conducted by Puppet Labs, Gene Kim, and Jez Humble. The survey had over 4000 responses and aimed to understand the link between DevOps behaviors and performance. Key findings included that high performing DevOps teams deployed code much more frequently (30x more), had significantly shorter lead times for changes (8000x shorter), and were more reliable with fewer failed changes and faster mean time to restore service. Technical practices like infrastructure automation and version control correlated strongly with better performance. Organizations that adopted DevOps practices over 12 months prior performed significantly better. The document also discusses challenges in measuring culture and psychographics in DevOps.
OSGeo and LocationTech are both organizations that support open source geospatial software. OSGeo is a non-profit foundation that aims to support collaborative development and promote widespread use of open source geospatial software. LocationTech is an Eclipse working group that develops advanced location technologies. Both organizations provide resources for projects like code sprints, marketing assistance, and incubation processes to help projects with open development. The incubation processes differ in some ways, with LocationTech providing more automated processes through the Eclipse infrastructure and more frequent IP reviews, while OSGeo incubation can take 1-6 years but provides more flexibility. Both organizations complement each other in supporting the geospatial open source community.
How open source is driving DevOps innovation: CloudOpen NA 2015Gordon Haff
It’s no coincidence that all the interest around DevOps today comes at a time when open source technologies and processes are so dominant in cloud computing, data storage and analysis, and--increasingly--in networking. Innovations in Linux and other projects, including containers, configuration management, and continuous integration, are what make DevOps workflows and portable application deployments possible. But it’s also the result of open source culture, practices, and the tools supporting those practices that have made iterative development and collaboration such a powerful model for creating great software in communities. And now, they’re also providing a template for how to develop and operate applications internally within enterprises. In this session, we will discuss how open source tools and practices can be applied to create effective DevOps workflows and practices.
The document discusses Google's engineering culture and infrastructure. It provides an overview of Google's practices around code review, team programming using tools like Gerrit, and the engineering pipeline. It also shares personal stories from software engineers and principles for balancing process with creativity.
The document discusses the characteristics of thriving open source software projects. It identifies three types of projects - dead, surviving, and thriving. Thriving projects are described as having five key characteristics: 1) being easy to contribute to, 2) being scalable and maintainable, 3) having a growing community, 4) having a growing reputation, and 5) having a good leadership team. Various metrics for evaluating projects based on these characteristics are provided. A case study of the Weex project is also examined.
- Twitter relies heavily on open source software and contributes a significant amount of code back to the open source community.
- In 2011, Twitter created an Open Source Office to direct all open source efforts related to compliance, standards, and engineering outreach.
- The Open Source Office established review processes, licensing guidelines, and development best practices to manage open source code in a transparent and compliant manner while still facilitating contributions and collaboration.
Similar to Why FLOSS is a Java developer's best friend: Dave Gruber (20)
Everything I know about software in spaghetti bolognese: managing complexityJAX London
None of of us enjoy spaghetti code, much less spaghetti builds, spaghetti tests, or spaghetti classpaths. Some days software engineering seems like the struggle against spaghetti - modern projects often become a large and complex tangle of source code and resources, and the runtime interactions are even worse! This means many projects are hard to navigate, difficult to extend and problematic to deploy/run. You only have to look at the OpenJDK itself to see the problems it faces in trying to have a smaller deployment and runtime footprint! Jigsaw was to be the inbuilt solution for the OpenJDK, extending beyond the JVM itself to help applications with their modularisation story (i.e. Jigsaw or OSGi). Sadly, Jigsaw is not going to make it for Java 8, so developers are left with only a few tooling choices in order to help them. However, tooling is only part of the answer in managing the complexity. What really matters in avoiding a noodly mess is the layout of your source code and resources, clear contracts, and how you think about the dependencies your code has at runtime. Dr Holly Cummins and Martijn Verburg will take you through some of the practical design decisions you can take to help modularise your application properly, independent of tooling. Time permitting they'll then showcase some of tooling support that OSGi can bring to the table as the premier modularity system for Java today.
Devops with the S for Sharing - Patrick DeboisJAX London
Devops means many things to many people. Even without a clear definition people instantly understand the problem space, while the solution space is much more complex and layered. In this talk on devops, different fields and practices will be presented, including how Devops is related to Agile and Lean, and the central roles that infrastructure as code, metrics and monitoring have. Many devops talks relate to the CAMS acronym : Culture, Automation, Measuring and Sharing. The S for Sharing is usually taken for granted and does not get much explanation, but in this talk it will be right in the centre. Without Sharing there is no Devops and successful adoption is impossible.
Busy Developer's Guide to Windows 8 HTML/JavaScript AppsJAX London
With the upcoming release of Windows 8, Microsoft decided to bring HTML+Javascript into the world of Windows-platform application development as a first-class citizen. But make no mistake, this isn’t an attempt to somehow subvert Web developers—it’s more about enabling Web developers to leverage those skills in building “native” Windows applications running on the Windows 8 laptops, desktops, and slates. In this presentation, we’ll go over the basics of building a Windows 8 app using HTML and JavaScript, including a brief overview of what’s possible—and what’s not—for the Web developer seeking to “go native” on Windows.
It's code but not as we know: Infrastructure as Code - Patrick DeboisJAX London
Configuration Management systems like CFEngine, Puppet and Chef, are often adopted as part of devops toolchains. It promises us infrastructure as code a concept that leads to 'Agile' infrastructure: In this session I'd like to give: - a brief explanation of the concept and why it's useful - an overview about the similarities this has with regular code - concepts such as TDD, BDD how well can they be translated - how it fits in with continuous Integration for systems Besides the concept translation I will add links to existing tools and project that working and evolving in the space. And finally, is it really the same? Does a coding background help you? Where do the tools/concepts need improvement? After this session I'm sure you'll be ready to give it a spin and explore more and possibly share some ideas back.
Locks? We Don't Need No Stinkin' Locks - Michael BarkerJAX London
Embrace the dark side. As a developer you'll often be advised that writing concurrent code should be the purview of the genius coders alone. In this talk Michael Barker will discard that notion into the cesspits of logic and reason and attempt to present on the less understood area of non-blocking concurrency, i.e. concurrency without locks. We'll look the modern Intel CPU architecture, why we need a memory model, the performance costs of various non-blocking constructs and delve into the implementation details of the latest version of the Disruptor to see how non-blocking concurrency can be applied to build high performance data structures.
Worse is better, for better or for worse - Kevlin HenneyJAX London
Over two decades ago, Richard P Gabriel proposed the thesis of "Worse Is Better" to explain why some things that are designed to be pure and perfect are eclipsed by solutions that are seemingly limited and incomplete. This is not simply the observation that things that should be better are not, but that some solutions that were not designed to be the best were nonetheless effective and were the better option. We find many examples of this in software development, some more provocative and surprising than others. In this talk we revisit the original premise and question in the context of software architecture.
Java performance: What's the big deal? - Trisha GeeJAX London
It seems that everywhere you look these days people are needing to work on high performance/low latency applications. If they're not already working on them, then they want to be. But what do you really need to know when you're working on performance-sensitive systems? Where do you get started? In this session, Trisha outlines things you need to consider when thinking about performance, covers some of the frequently-asked questions, and notes the pitfalls and common traps that developers fall into.
This document provides an overview of Clojure and why one may want to try it. Some key points include:
- Clojure is a functional programming language that runs on the JVM and allows easy interoperability with Java.
- It has a very small and elegant syntax based on Lisp with sensible macro names and prefix notation.
- Clojure encourages pure functional programming and the use of immutable data structures, while providing tools like Software Transactional Memory to allow safe mutable state changes.
- Its focus on functions as first-class citizens and referential transparency can provide benefits for writing parallel and concurrent code more easily compared to other languages.
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias WessendorfJAX London
This document summarizes a presentation about developing mobile applications using HTML5, REST, and JavaScript frameworks. It discusses using JAX-RS to create RESTful endpoints in Java EE that return JSON/XML, and consuming those endpoints from HTML5 web apps or hybrid mobile apps built with Apache Cordova. It also introduces the AeroGear framework for extending Java EE functionality to mobile clients and facilitating mobile development. Demos are provided of AeroGear.js, Backbone.js, and the AeroGear-iOS library. The roadmap includes adding support for WebSockets, data syncing, and push notifications across the AeroGear projects.
This presentation introduces the key innovations that Play 2 brings to web application development in Java and Scala. The Play framework has brought high-productivity web development to Java with three innovations that changed the rules on Java EE: Java class and template save-and-reload that just works, a simplified stateless architecture that enables cloud deployment, and superior ease-of-use. Following Play's rapidly-growing popularity, Play 2.0 was released in March 2012 with innovations that are not just new in the Java world: type-safe view templates and HTTP routing, compile-time checking for static resources, and native support for both Java and Scala. Type safety matters. After dynamically-typed programming languages such as PHP and Ruby set the standard for high-productivity web development, Play built on their advantages and has created a type-safe web development framework with extensive compile-time checking. This is essential for applications that will scale to tens of thousands of lines of code, with hundreds of view templates. Meanwhile, Play avoids the architectural-complexity that is promoted by Java EE-based approaches. The result is that Play 2 first enables rapid initial application development and then Play 2 helps you build big, serious and scalable web applications.
Complexity theory and software development : Tim BerglundJAX London
Some systems are too large to be understood entirely by any one human mind. They are composed of a diverse array of individual components capable of interacting with each other and adapting to a changing environment. As systems, they produce behavior that differs in kind from the behavior of their components. Complexity Theory is an emerging discipline that seeks to describe such phenomena previously encountered in biology, sociology, economics, and other disciplines. Beyond new ways of looking at ant colonies, fashion trends, and national economies, complexity theory promises powerful insights to software development. The Internet—perhaps the most valuable piece of computing infrastructure of the present day—may fit the description of a complex system. Large corporate organizations in which developers are employed have complex characteristics. In this session, we'll explore what makes a complex system, what advantages complexity has to offer us, and how to harness these in the systems we build.
Scalable systems make us face challenges like concurrency, distribution, fault tolerance, elasticity, etc. Akka not only steps up to meet these, but it makes writing scalable software particularly easy. We will demo Akka's most important tool, the actor model, using a vivid example and live coding.
Alternative databases continue to establish their role in the technology stack of the future—and for many, the technology stack of the present. Making mature engineering decisions about when to adopt new products is not easy, and requires that we learn about them both from an abstract perspective and from a very concrete one as well. If you are going to recommend a NoSQL database for a new project, you're going to have to look at code. In this talk, we'll examine three important contenders in the NoSQL space: Cassandra, MongoDB, and Neo4J. We'll review their data models, scaling paradigms, and query idioms. Most importantly, we'll work through the exercise of modeling a real-world problem with each database, and look at the code and queries we'd use to implement real product features. Come to this session for a thorough and thoroughly practical smackdown between three important NoSQL products.
Closures, the next "Big Thing" in Java: Russel WinderJAX London
Java 8 will bring lambda function and closures to the Java-verse. These tools will revolutionize programming using Java, leading to shorter more declarative code. But how can we prepare ourselves for this? A number of JVM-based languages already have support for lambda functions and closures: dynamically-typed languages like Groovy, and statically-typed languages like Scala and Kotlin. Can looking at examples of how to solve problems in these languages teach us how to do things in Java 8? Yes. Of course the observation of how programming changes may get people to start using Groovy, Scala, Kotlin, etc. instead of Java. The critical thing here is that we can realize the revolution in an evolutionary way. The JVM allows for all of these languages to work together, we can program bits in Java, bits in Groovy, bits in Scala, etc. So we can evolve extant systems by rewriting bits a little at a time. In this session we will look at these issues and a collection of examples to try and ascertain what the idioms might be in a post-Java 8 world.
Java and the machine - Martijn Verburg and Kirk PepperdineJAX London
In Terminator 3 - Rise of the Machines, bare metal comes back to haunt humanity, ruthlessly crushing all resistance. This keynote is here to warn you that the same thing is happening to Java and the JVM! Java was designed in a world where there were a wide range of hardware platforms to support. Its premise of Write Once Run Anywhere (WORA) proved to be one of the compelling reasons behind Java's dominance (even if the reality didn't quite meet the marketing hype). However, this WORA property means that Java and the JVM struggled to utilise specialist hardware and operating system features that could make a massive difference in the performance of your application. This problem has recently gotten much, much worse. Due to the rise of multi-core processors, massive increases in main memory and enhancements to other major hardware components (e.g. SSD), the JVM is now distant from utilising that hardware, causing some major performance and scalability issues! Kirk Pepperdine and Martijn Verburg will take you through the complexities of where Java meets the machine and loses. They'll give up some of their hard-won insights on how to work around these issues so that you can plan to avoid termination, unlike some of the poor souls that ran into the T-800...
Brendan McAdams explores the deeper relationship between the MongoDB database and various languages on the Java Virtual Machine such as Java, Scala, Clojure, JRuby and Python as well as the challenges posted getting MongoDB to play nice with these tools and their syntax. Also examined will be frameworks and integration points popular between MongoDB and the JVM such as Spring Data, Morphia and Lift’s MongoDB-Record component
New opportunities for connected data - Ian RobinsonJAX London
The document discusses new opportunities for connected data using graph databases. It covers topics like data complexity, graph databases features and benefits, querying graph data, and use cases. The key points are that graph databases are well-suited for domains with dense connections and semi-structured data, allow for easy data model evolution, and enable fast querying of relationships between millions of entities.
The family of HTML5 technologies has pushed the pendulum away from rich client technologies and towards ever more capable web clients running in today's browsers. In particular, WebSockets brings new opportunities for efficient peer to peer communication, providing the basis for a new generation of interactive and 'live' web applications. This session examines the efforts underway to support WebSockets in the Java programming model using JSR 356, from its base level integration in the Java Servlet and Java EE containers, to a new easy to use API and toolset that is destined to become a part of the standard Java Platform.
The Big Data Con: Why Big Data is a Problem, not a Solution - Ian PloskerJAX London
"Big Data" is a commonly brandished term, but rarely does anyone provide a clear definition of it. If we stop to define Big Data, we find that at its core, it is about an inability to meet the challenges of information storage and access in a world where data is generated by the petabyte. As an alternative exists the concept of Critical Data, data that generates value for businesses, whose unavailability costs money or even lives. This is the data which has already been identified and understood to be at the core of a business. Together, we will gain a deeper understanding of how to gather, store, and access this business critical information.
Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James ...JAX London
Have you always secretly wondered what the heck 'monads' are? How about 'Tail-call recursion?' or 'monomorphic dispatch'? If this sort of terminology has ever left you with self-doubts or seething with anger because someone is confusing you with elitist terminology, then this is the talk for you! Dr Richard Warburton and the Diabolical Developer + James Gough will take a humorous look at the wide range of incomprehensible terminology in our industry today. They'll cover the concepts behind the jargon with simple examples and some practical tips on how to blend the terminology into your day to day technical conversations without scaring everyone off. At the end of the talk you'll be ready to battle it out on tough mailing lists (Scala!) and have a new appreciation for some of the academic principles behind our craft. Oh and as for monads? Well they're just like burritos, except they're not...
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
CAKE: Sharing Slices of Confidential Data on BlockchainClaudio Di Ciccio
Presented at the CAiSE 2024 Forum, Intelligent Information Systems, June 6th, Limassol, Cyprus.
Synopsis: Cooperative information systems typically involve various entities in a collaborative process within a distributed environment. Blockchain technology offers a mechanism for automating such processes, even when only partial trust exists among participants. The data stored on the blockchain is replicated across all nodes in the network, ensuring accessibility to all participants. While this aspect facilitates traceability, integrity, and persistence, it poses challenges for adopting public blockchains in enterprise settings due to confidentiality issues. In this paper, we present a software tool named Control Access via Key Encryption (CAKE), designed to ensure data confidentiality in scenarios involving public blockchains. After outlining its core components and functionalities, we showcase the application of CAKE in the context of a real-world cyber-security project within the logistics domain.
Paper: https://doi.org/10.1007/978-3-031-61000-4_16
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxSitimaJohn
Ocean Lotus cyber threat actors represent a sophisticated, persistent, and politically motivated group that poses a significant risk to organizations and individuals in the Southeast Asian region. Their continuous evolution and adaptability underscore the need for robust cybersecurity measures and international cooperation to identify and mitigate the threats posed by such advanced persistent threat groups.
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Why FLOSS is a Java developer's best friend: Dave Gruber
1. FLOSS:
Your New Best Friend
Dave Gruber
Director of Developer Programs
Black Duck Software, Inc.
Stewards of ohloh.net
2. Where do YOU find FLOSS?
1.8m repositories 260k projects
250k projects 108k repositories
28.5k projects
30k projects
250 projects
9.5k projects
2
3. Sifting though the world of open source
GitHub: 1,751,000 repositories
SourceForge: 260,000 projects
GoogleCode: 250,000 projects
Bitbucket: 108,000 repositories
Codeplex: 29,000 projects
LaunchPad: 28,500
Foundations: 500+ projects
Photo from http://splits59.com/blog/?p=49
4. And are all these real projects?
Lots of projects, but
– How many are active, how many abandoned?
– How many have a team?
How important is it that people are
still working on a project?
5. How many projects are active?
• 550,000+ projects on Ohloh.
• 271,372 with a code analysis.
• 96,824 with a commit in the past 2 years.
• 46,883 with a commit in the past year.
• 29,303 with a commit in the past 6 months.
• 21,251 with a commit in the past 3 months.
• 12,870 with a commit in the past month.
• 5,629 with a commit in the past week.
• 1,224 with a commit in the past day
6. So, how many projects are active?
6000
Days since last commit
5000
4000
3000
17.3%
2000
1000
1 Yr
100 90 80 70 60 50 40 30 20 10
% of All Analyzed Projects
7. But do these 17% have a team?
2827
Number of Contributors
50
40
30
49.3%
2 or more
8.5% of all analyzed projects
20
10
2
100 90 80 70 60 50 40 30 20 10
% of Active Projects in the Past Year
8. Languages of live projects
Perl C#
Ruby
Java still leads the pack!
PHP
JavaScript
C
Python
Top 5000 live projects C++
Other
9. Take-aways
• Only a small fraction of all the projects ever started
gain long-term traction.
• Less than 5% of all projects analyzed are “live” (1+
commits in the past year, and 2+ committers ever.)
• While Java leads the pack, newer projects
trending towards Python, PHP, JavaScript.
Activity Matters
so check before you use!
10. So how can we sift through
all these projects?!
Find Evaluate Approve Track
11. Finding FLOSS is “easy”
• Searching the “forges”
• Github.com/search
• Code.google.com
• Sourceforge.com/directory
• Codeplex.com/site/search
• Bitbucket.org/repo/all
• Ask StackOverflow, Google Search
Find Evaluate Approve Track
12. Search public directories
Public FOSS Directories
– ohloh.net 550,000 projects
– olex.openlogic.com 330,000 projects
– ostatic.com 120,000 projects
– Maven Central search.maven.org
– Free Software Foundation http://directory.fsf.org 6850 projects
– osalt.com ~500 projects
– EOS Directory (Enterprise-ready OSS) ~400 projects
Public FOSS Code Search options
– code.ohloh.com 11b+ LOC
– krugle.org
– Codase.com 250m LOC
– grepcode.com (Java only)
– Symbolhound.com/codesearch
– Searchco.de
13. Choosing the “right” project
1. What languages are used?
2. What’s the license for the project?
3. How is the documentation?
4. How well maintained is the project?
5. How active is the project?
6. Is the code widely used in other places?
7. Size and complexity?
8. Are there known vulnerabilities?
9. Any outstanding lawsuits?
10. Is there commercial support available?
11. Does the project use encryption?
12. What is the quality of the code?
14. So where are the answers?
The easy ones (look at the code or project page)
1. What languages are used?
2. What’s the license for the project?
• Or check a project directory like Ohloh, OLEX, etc.
3. How is the documentation?
• Look in the wiki, check Ohloh (counts comments)
4. Size and complexity?
• Review the code and structure
Find Evaluate Approve Track
15. So where are the answers?
A little harder, but still available
5. Are there known vulnerabilities? (National Vulnerabilities DB)
• osvdb.org/search/advsearch
• web.nvd.nist.gov/view/vuln/search
• HP Fortify scans some FLOSS projects
6. How well maintained is the project?
• Check the bugbase, see how many high priority bugs are open and
for how long
7. How active is the project?
• # of active committers, commit stream (Project or Ohloh)
8. Is the code widely used in other places?
• Search StackOverflow, google, download stats
16. So where are the answers?
The tougher ones
9. Any outstanding lawsuits?
• Google search for project name & “lawsuit”
10. Is there commercial support available?
• Companies like Credativ in Germany and OpenLogic in the US
support a subset of FOSS projects
11. Does the project use encryption?
• Sometimes documented on project sites, otherwise explore the
project
12. What is the quality of the code?
• Limited # of code quality audits from Coverity (scan.coverity.com)
17. Approvals
• Do you have a formal approval process?
• How many of these questions are required?
• Know your FOSS policy.
• Speed up the process by getting answers in
advance!
• Automated solutions exist to help
Find Evaluate Approve Track
18. Inventory, Catalog & Tracking
Know what and where you use FOSS!
– Vulnerabilities
– Possible license issues
– New releases
– Reuse
Scan for existing FLOSS, then stay current.
Find Evaluate Approve Track
19. Are you an Open Source free-loader?
Ok, so you use…
• But do you contribute?
– That’s ok. “Freeloading” is just the beginning
and where everyone starts.
20. FLOSS Adoption Lifecycle
Mission
critical
V
a Strategic
l imperative
u
e
Tactical
decision
Engineer driven Tech mgmt driven Business strategy driven
Opportunistic Policy Engagement
Usage Contribution
21. Why contribute?
• As you customize to meet your needs, the
community can help further refine.
• If you customize and don’t contribute back,
you own it forever. Give back and the
community can help evolve and maintain.
• You got something of value for free, why not
give back?
22. Why start and manage?
• If you create something of value…
• That’s NOT a competitive differentiator…
• But you depend on it…
• Building a community around it can
accelerate it’s development.
23. Getting more out of FLOSS
What if you could leverage the methods
behind FLOSS for internal development?
– Is there an opportunity to leverage the inner
workings of open source development to
refine internal development?
– What’s to be learned?
24. “Innersourcing”
The application of best practices, processes,
culture and methodologies
taken from the open source world
and applied to internal software development
and innovation efforts.
10/16/2012 24
28. Ethos
Open access: to all code, documentation, and how decisions
were made. Shared, common directory to find SW for reuse and
knowledge.
Open participation: No artificial boundaries to joining and
contributing.
Open communication: Visible decision making process.
Documented history of all decisions and the reasoning behind
them.
Open governance: Process is designed and managed in the
open. Process changes to meet the needs of the people
participating.
Open leadership: Leaders are respected based on their ability
to execute. If people don’t like the direction of a project: fork it!
10/16/2012 28
29. Processes
Governance
– Designed for the people, by the people
– Rules of engagement (how to contribute)
– How decisions are made
– How the rules can be changed in the future
– In writing, for all to see
Incubate Develop Maintain
10/16/2012 29
30. Mechanisms and Tools supporting
the methods
Forge
Basic Wiki
Infrastructure
Requirements
Bug Tracker
10/16/2012 30
31. Mechanisms
Forge
Code Quality in the open
• Bug tracking is typically limited to individual teams
Anyone can report issues
Bug Tracker New contributors can engage by fixing a bug
10/16/2012 31
32. Mechanisms – Communications
Public wikis
– Single point of communication
– Self-documenting
– Archive history of project decisions and
progress Wiki
Email lists
– Decision making in the open
– Self-documenting
– Open to all to participate
IRC Channels and Forums
– Open developer discussions
10/16/2012 32
33. Potential Benefits
1. Better code - Greater internal code scrutiny
2. Increased innovation and focus on value-
added development - More knowledge sharing
and code re-use
3. Better resource allocation - Broad expertise
4. Extensive support and buy-in from organization
5. Improved productivity, morale and retention -
motivated contributors, job satisfaction!
6. Faster development
10/16/2012 33
34. Challenges
Technology is the “Easy Part” - be aware of:
• Management & developer Mindset
• Lack of communication and shared purpose
• Culture shock and dissonance
• Lack of process consistency
• Technical mindset shift from delivering
binaries to delivering source code
• Mindset shift from delivering final product to
incremental quality code
10/16/2012 34
35. Getting Started
1. Define clear community goals, vision, behaviors and
expectations
2. Identify ‘seed-collaborators’ and catalysts
3. Choose 1-2 small/common technologies/projects to start
4. Deploy Inner Source platform mechanisms
– Forge, Wiki, Bugtracker, Lists, Forums
5. Define a governance model
– Communications and incentive program
– Who coordinates/approves changes/releases
6. Talk to Management about HR ramifications
– Employee performance reviews
– Managerial expectations/comfort levels
10/16/2012 35
36. A free, community resource
Dave Gruber
Director Developer Programs
Black Duck
ohloh.net dgruber@blackducksoftware.com
@davegruber5 36