Image by apaixonada: Talking people into creating patches.

Slides:



Advertisements
Similar presentations
An open source QA stack testing tools for agile teams Presented by Aaron Evans
Advertisements

How NOT to Have a Successful PhD on Middleware Research The Ten Commandments (to carefully avoid) Paolo Costa Vrije Universiteit Amsterdam
Project Proposal: Academic Job Market and Application Tracker Website Project designed by: Cengiz Gunay Client: Cengiz Gunay Audience: PhD candidates and.
The Internet versus the Reference Section The answers are out there…
@ For more details visit : Opportunities for participation Modular Architecture Trace JIT compiler Interpreter Memory manager.
By Bearzx Dive Into Web Introduction To WEB
Wikispaces Welcome Wikispaces in K–12 Education [3/30/2011] Welcome Read-only Web v. Read/Write Web Wikis Getting Started with Wikispaces Wrap-up and Q&A.
1 Computer Science 1021 Programming in Java Geoff Draper University of Utah.
© Trustees of Indiana University Released under Creative Commons 3.0 unported license; license terms on last slide. Take Group Projects to the Next Level.
Windows App Studio Windows App Studio is the tool that makes it fast and easy to build Windows 10 apps. It’s accessible from any device with a browser.
What is Research? It may be different from what you think Target Audience: Undergraduate and Graduate Students Yung-Hsiang Lu Purdue University 1Yung-Hsiang.
1 Documentation Workflow Proposal By Michael Wheatland LibreOffice Documentation Team
How To Get Involved In Open Source Nick Burch Senior Developer, Alfresco Software VP ConCom, ASF Member.
Cat Allman & Leslie Hawthorn Google Inc. May 8, 2009 Getting Started in Open Source.
Cat Allman Leslie Hawthorn Google Inc. July 22, 2009 Getting Started in Free and Open Source.
FOSS4VGI: An Introduction to the Open Source Geospatial Community
Indefero Source Code Management Jethro Carr Improving your project's source, bug tracking and documentation with quality open source tools. Indefero Source.
Why Fedora? Overview and Q&A Warren Togami Associate Software Engineer Red Hat, Inc. Southern California Linux Expo Feb 11-12, 2006.
Code Simplicity: Software Design In Open Source Projects Max Kanat-Alexander
Expanding Involvement in F/OSS Presented by Elizabeth Krumbach Philadelphia area Linux Users Group September 2, 2009.
JavaScript Part 1 Introduction to scripting The ‘alert’ function.
Software Engineering Experimentation
Open source development model and methodologies.
Internet Etiquette or Netiquette
CS5220 Advanced Topics in Web Programming Version Control with Git
Welcome to our E – Safety Open Evening.
Tips to help keep children safe on the internet and social networks
TOP project – STATUS UPDATE & Workflow demo
Wikispaces in K–12 Education
Proposal for ONAP Development Best Practices Gildas Lanilis – ONAP Release Manager June 23 , 2017.
CSC207 Fall 2016.
System Testing Antares Rocket Test Launch ( HQ) System Testing.
How to Attract More new patients with Reviews
Wikispaces in K–12 Education
Consultation: Your Say ….
Managing Client’s Projects in Opensource and Being Profitable
A Career in Open Source Software
A project for teaching new contributors
Software Documentation
Contributing to Open Source Projects
Building a Career in FOSS
One tool to rule them all? Integration or survival of the fittest
Topic 5: Online Communities Press F5 to view!
Create your Benner - intro
Contributing to Open Source Projects
Psychology Extra Credit Option
Tips to help keep children safe on the internet and social networks
Fast Action Links extension A love letter to CiviCRM
Psychology Extra Credit Option
English for Civil Engineers
Order Management For Shippers.
Pilot project training
Sussex Neuroscience Coding Club title slide
ACTION LEARNING Ian Duncan Action Learning Facilitator
OSOR - new opportunities for sharing statistical software
My week in JavaScript Hell
Questions We Ask WELCOME.
Helping a friend out Guidelines for better software
Web 2.0: Using Social Networking Tools to Support English Teaching
Good morning-thanks for being here
Sr. Manager, Global Talent Acquisition
Inclusive Communication Hub
AppointmentmentPeach Appointment Manager
EUROPEAN WEB SITE ON INTEGRATION
About this Template Dear Colleague, This template is provided by Valooto to help you communicate the facts about your need for a CPQ (Configure Price Quote)
Web Based Tools for Research
National data opt-out - Preparing for implementation
The London Environmental Network Volunteer Recruitment Workshop
Collaborative Security: Securing Open Source Software
Presentation transcript:

Image by apaixonada: Talking people into creating patches

Isabel Drost Daytime: Co-Founder Berlin Buzzwords. Software developer at Nokia Gate 5 GmbH. Nighttime: Co-Founder Apache Mahout. Member Apache Software Foundation. Founder of Berlin Hadoop Get Together.

Disclaimer #1: Does not provide solutions Here to start a discussion Image thanks to Philipp Berlin Buzzwords

Disclaimer #2: Very subjective Based on non-representative sample Image thanks to Thilo

Hello Apache Con Community track. Image thanks to zigazou76:

How hard can it be, really?

svn co Git clone vim *.java svn diff Git diff

svn co Git clone Where from? Which tool? vim *.java Which IDE? How to test? How to build? Which style? svn diff Git diff Where to send? Documentation?

svn co Git clone Where from? Which tool? vim *.java Which IDE? How to test? How to build? Which style? svn diff Git diff Where to send? Documentation? Documentation Discussion Publishing work progress Finding pending issues

svn co Git clone Where from? Which tool? vim *.java Which IDE? How to test? How to build? Which style? svn diff Git diff Where to send? Documentation? Website Wiki Mailing lists Issue tracker Documentation Discussion Publishing work progress Finding pending issues Search the web

Some real world feedback

“I never had an issue with any project (here: Hadoop) I use.” “I just make my changes in my own repository.” “I don't have anything of value to contribute.” “This project sucks (here: Hadoop) … due to bug XYZ (here: various).” “Why are you doing this (here: spent time on Mahout)?” “Yeah – your patches get accepted easily, you are known already (here: to Tomcat).” “Patches? What's that?”

Three examples – add your own* * Concentrating on beginners today, avoiding the git flame war, deliberately excluding issues packagers have – talk to me after my talk for that.

StudentsProfessionalsResearchers

Image thanks to Ted DIMA TU Berlin

StudentsProfessionalsResearchers ● Development – Lack of experience and knowledge: ● Reading and understanding complex code ● Software development ● Architecture

StudentsProfessionalsResearchers ● Development – Lack of experience and knowledge: ● Libraries and patterns commonly used ● Automated testing ● Build systems

StudentsProfessionalsResearchers ● Process – Lack of experience: ● Version control ● Issue tracking ● Patch process

StudentsProfessionalsResearchers ● Communication – Lack of familiarity with: ● Everything is public – all praise, each mistake ● Documentation – where to find it, who to ask ● Mailing lists – e.g. do not hijack threads

StudentsProfessionalsResearchers ● Motivation: ● Generally eager to learn ● Open to new ways of doing development ● Learning pretty fast

General rule of thumb ● Get them to publish intention and code: ● Early ● Often ● Get regular (at least bi-weekly) feedback: ● On what they are doing ● Ask pro-actively for any issues they ran into ● If possible get them in touch: ● Online ● Face to face

Your experience with getting students to contribute*? * This is not about the organisation of individual programs like GSoC in general!

Image thanks to DICODE EU project

StudentsProfessionalsResearchers ● Development – Lack of experience: ● Unfamiliar with properties of ship-able code ● Mostly capable of understanding even complex code ● Not used to long time support and integration issues ● * Careful: (Over-)generalization, mainly from German point of view

StudentsProfessionalsResearchers ● Development: ● Libraries and patterns commonly used – sort of known ● Automated testing – maybe known, less often practiced ● Build systems – generally known

StudentsProfessionalsResearchers ● Process – Lack of experience: ● Version control – getting better ● Issue tracking – generally an issue ● Patch process – widely unknown ● There might be legal issues lurking depending on their contract.

StudentsProfessionalsResearchers ● Communication – Lack of familiarity with: ● Everything is public – all praise, each mistake ● There is documentation – where to find it, who to ask ● Usage of issue tracker and wikis. ● Criteria for project health largely unheard of.

StudentsProfessionalsResearchers ● Motivation: ● Software development is not their main business* ● Open to the concept of open source in general – especially using it ● Contributing high quality code takes time though ● * Though slowly as requirement to get funding, quality is never thoroughly checked.

General rule of thumb ● Learn more on their real motivation to contribute: ● Is this just a requirement on a research contract ● Is there real interest in getting involved ● Get them to publish intention and code: ● Early ● Often ● If possible get them in touch: ● Online ● Face to face

Your experience with getting researchers to contribute*? * This is not about the code quality of health of your average research open source project.

September 10, 2007 by.sanden.

● Development*: ● Libraries and patterns commonly used – well known ● Automated testing – well known and practiced ● Build systems – well known ● * yes there might be cases where those assumptions are too optimistic StudentsProfessionalsResearchers

StudentsProfessionalsResearchers ● Process: ● Version control – generally easy ● Issue tracking – commonly known, sometimes less used than at Apache ● Patch process – widely unknown ● There might be legal issues lurking depending on their contract.

StudentsProfessionalsResearchers ● Communication – Lack of familiarity with: ● Everything is public – all praise, each mistake ● There is documentation – where to find it, who to ask ● Some senior expert engineer is just a contributor – and treated likewise

StudentsProfessionalsResearchers ● Motivation: ● Software development is their main business – freeing software is not ● Open to the concept of open source in general – especially using it ● Contributing high quality code takes time though

General rule of thumb ● What is of interest for your counterpart: ● Management has different primary interests than developers ● Respect and integrate their experience and knowledge ● Get them to publish intention and code: ● Early ● Often ● If possible get them in touch: ● Online ● Face to face

Your experience with getting professionals to contribute? Image thanks to Philipp Berlin Buzzwords

Image thanks to Philipp Kaden First one to tell me where and when the images were taken gets a free beer.