SlideShare uma empresa Scribd logo
1 de 78
Baixar para ler offline
Contributing to
Open Source
Projects


              Francois Marier
          francois@catalyst.net.nz
I      II    III

what?   why?   how?
I
what?
1 0 1
Free
Software
Speec
        h
Proprietary Software
SUN MICROSYSTEMS, INC. ("SUN") IS WILLING TO LICENSE THE SOFTWARE IDENTIFIED BELOW TO YOU                                        10. U.S. GOVERNMENT RESTRICTED RIGHTS. If Software is being acquired by or on behalf of the U.S.
ONLY UPON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS CONTAINED IN THIS BINARY CODE                                         Government or by a U.S. Government prime contractor or subcontractor (at any tier), then the Government's rights
LICENSE AGREEMENT AND SUPPLEMENTAL LICENSE TERMS (COLLECTIVELY "AGREEMENT"). PLEASE READ                                       in Software and accompanying documentation will be only as set forth in this Agreement; this is in accordance with
THE AGREEMENT CAREFULLY. BY DOWNLOADING OR INSTALLING THIS SOFTWARE, YOU ACCEPT THE                                            48 CFR 227.7201 through 227.7202-4 (for Department of Defense (DOD) acquisitions) and with 48 CFR 2.101 and
TERMS OF THE AGREEMENT. INDICATE ACCEPTANCE BY SELECTING THE "ACCEPT" BUTTON AT THE                                            12.212 (for non-DOD acquisitions).
BOTTOM OF THE AGREEMENT. IF YOU ARE NOT WILLING TO BE BOUND BY ALL THE TERMS, SELECT THE
"DECLINE" BUTTON AT THE BOTTOM OF THE AGREEMENT AND THE DOWNLOAD OR INSTALL PROCESS WILL                                        11. GOVERNING LAW. Any action related to this Agreement will be governed by California law and controlling
NOT CONTINUE.                                                                                                                  U.S. federal law. No choice of law rules of any jurisdiction will apply.

  1. DEFINITIONS. "Software" means the identified above in binary form, any other machine readable materials                    12. SEVERABILITY. If any provision of this Agreement is held to be unenforceable, this Agreement will remain in
(including, but not limited to, libraries, source files, header files, and data files), any updates or error corrections       effect with the provision omitted, unless omission would frustrate the intent of the parties, in which case this
provided by Sun, and any user manuals, programming guides and other documentation provided to you by Sun under                 Agreement will immediately terminate.
this Agreement. "Programs" mean Java applets and applications intended to run on the Java Platform, Standard Edition
(Java SE) on Java-enabled general purpose desktop computers and servers.                                                        13. INTEGRATION. This Agreement is the entire agreement between you and Sun relating to its subject matter. It
                                                                                                                               supersedes all prior or contemporaneous oral or written communications, proposals, representations and
   2. LICENSE TO USE. Subject to the terms and conditions of this Agreement, including, but not limited to the Java            warranties and prevails over any conflicting or additional terms of any quote, order, acknowledgment, or other
Technology Restrictions of the Supplemental License Terms, Sun grants you a non-exclusive, non-transferable, limited           communication between the parties relating to its subject matter during the term of this Agreement. No modification
license without license fees to reproduce and use internally Software complete and unmodified for the sole purpose of          of this Agreement will be binding, unless in writing and signed by an authorized representative of each party.
running Programs. Additional licenses for developers and/or publishers are granted in the Supplemental License Terms.
                                                                                                                               These Supplemental License Terms add to or modify the terms of the Binary Code License Agreement. Capitalized
  3. RESTRICTIONS. Software is confidential and copyrighted. Title to Software and all associated intellectual property        terms not defined in these Supplemental Terms shall have the same meanings ascribed to them in the Binary Code
rights is retained by Sun and/or its licensors. Unless enforcement is prohibited by applicable law, you may not modify,        License Agreement. These Supplemental Terms shall supersede any inconsistent or conflicting terms in the Binary
decompile, or reverse engineer Software. You acknowledge that Licensed Software is not designed or intended for use            Code License Agreement, or in any license contained within the Software.
in the design, construction, operation or maintenance of any nuclear facility. Sun Microsystems, Inc. disclaims any
express or implied warranty of fitness for such uses. No right, title or interest in or to any trademark, service mark, logo     1. Software Internal Use and Development License Grant. Subject to the terms and conditions of this Agreement




                                                                           I Agree
or trade name of Sun or its licensors is granted under this Agreement. Additional restrictions for developers and/or           and restrictions and exceptions set forth in the Software "README" file incorporated herein by reference,
publishers licenses are set forth in the Supplemental License Terms.                                                           including, but not limited to the Java Technology Restrictions of these Supplemental Terms, Sun grants you a non-
                                                                                                                               exclusive, non-transferable, limited license without fees to reproduce internally and use internally the Software
  4. LIMITED WARRANTY. Sun warrants to you that for a period of ninety (90) days from the date of purchase, as                 complete and unmodified for the purpose of designing, developing, and testing your Programs.
evidenced by a copy of the receipt, the media on which Software is furnished (if any) will be free of defects in materials
and workmanship under normal use. Except for the foregoing, Software is provided "AS IS". Your exclusive remedy and               2. License to Distribute Software. Subject to the terms and conditions of this Agreement and restrictions and
Sun's entire liability under this limited warranty will be at Sun's option to replace Software media or refund the fee paid    exceptions set forth in the Software README file, including, but not limited to the Java Technology Restrictions of
for Software. Any implied warranties on the Software are limited to 90 days. Some states do not allow limitations on           these Supplemental Terms, Sun grants you a non-exclusive, non-transferable, limited license without fees to
duration of an implied warranty, so the above may not apply to you. This limited warranty gives you specific legal rights.     reproduce and distribute the Software, provided that (i) you distribute the Software complete and unmodified and
You may have others, which vary from state to state.                                                                           only bundled as part of, and for the sole purpose of running, your Programs, (ii) the Programs add significant and
                                                                                                                               primary functionality to the Software, (iii) you do not distribute additional software intended to replace any
 5. DISCLAIMER OF WARRANTY. UNLESS SPECIFIED IN THIS AGREEMENT, ALL EXPRESS OR IMPLIED                                         component(s) of the Software, (iv) you do not remove or alter any proprietary legends or notices contained in the
CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF                                                  Software, (v) you only distribute the Software subject to a license agreement that protects Sun's interests
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT ARE DISCLAIMED,                                          consistent with the terms contained in this Agreement, and (vi) you agree to defend and indemnify Sun and its
EXCEPT TO THE EXTENT THAT THESE DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.                                                    licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including
                                                                                                                               attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from
  6. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS                                 the use or distribution of any and all Programs and/or Software.
LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR SPECIAL, INDIRECT,
CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED REGARDLESS OF THE THEORY                                            3. Java Technology Restrictions. You may not create, modify, or change the behavior of, or authorize your
OF LIABILITY, ARISING OUT OF OR RELATED TO THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN                                licensees to create, modify, or change the behavior of, classes, interfaces, or subpackages that are in any way
HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. In no event will Sun's liability to you, whether in                       identified as "java", "javax", "sun" or similar convention as specified by Sun in any naming convention designation.
contract, tort (including negligence), or otherwise, exceed the amount paid by you for Software under this Agreement.
The foregoing limitations will apply even if the above stated warranty fails of its essential purpose. Some states do not        4. Source Code. Software may contain source code that, unless expressly licensed for other purposes, is
allow the exclusion of incidental or consequential damages, so some of the terms above may not be applicable to you.           provided solely for reference purposes pursuant to the terms of this Agreement. Source code may not be
                                                                                                                               redistributed unless expressly provided for in this Agreement.
  7. TERMINATION. This Agreement is effective until terminated. You may terminate this Agreement at any time by
destroying all copies of Software. This Agreement will terminate immediately without notice from Sun if you fail to            # Third Party Code. Additional copyright notices and license terms applicable to portions of the Software are set
comply with any provision of this Agreement. Either party may terminate this Agreement immediately should any                  forth in the THIRDPARTYLICENSEREADME.txt file. In addition to any terms and conditions of any third party
Software become, or in either party's opinion be likely to become, the subject of a claim of infringement of any               opensource/freeware license identified in the THIRDPARTYLICENSEREADME.txt file, the disclaimer of warranty
intellectual property right. Upon Termination, you must destroy all copies of Software.                                        and limitation of liability provisions in paragraphs 5 and 6 of the Binary Code License Agreement shall apply to all
                                                                                                                               Software in this distribution.
  8. EXPORT REGULATIONS. All Software and technical data delivered under this Agreement are subject to US export
control laws and may be subject to export or import regulations in other countries. You agree to comply strictly with all      # Termination for Infringement. Either party may terminate this Agreement immediately should any Software
such laws and regulations and acknowledge that you have the responsibility to obtain such licenses to export, re-export,       become, or in either party's opinion be likely to become, the subject of a claim of infringement of any intellectual
or import as may be required after delivery to you.                                                                            property right.

  9. TRADEMARKS AND LOGOS. You acknowledge and agree as between you and Sun that Sun owns the SUN,                             # Installation and Auto-Update. The Software's installation and auto-update processes transmit a limited amount of
SOLARIS, JAVA, JINI, FORTE, and iPLANET trademarks and all SUN, SOLARIS, JAVA, JINI, FORTE, and iPLANET-                       data to Sun (or its service provider) about those specific processes to help Sun understand and optimize them. Sun
related trademarks, service marks, logos and other brand designations ("Sun Marks"), and you agree to comply with the          does not associate the data with personally identifiable information. You can find more information about the data
Sun Trademark and Logo Usage Requirements currently located at http://www.sun.com/policies/trademarks. Any use                 Sun collects at http://java.com/data/.
you make of the Sun Marks inures to Sun's benefit.
4
freedoms
1. use
2. copy
      1. use
2. copy   3. modify
      1. use
4. contribute
2. copy   3. modify
      1. use
4. contribute
2. copy   3. modify
      1. use
“The licence gives
    users these rights   ”
“It's also a
   code of conduct
               for developers   ”
Source
  Copy of                Share
                code
the licence              alike
              included
II
why?
Professional

       Porfolio
Get work experience with some of the World's best developers
You'll learn heaps of

         skills
      that

         employers
                  are looking for
Solving your
  own problems



                 choosing
               what you work on
III
how?
Contribute to an
existing project
Start a new project
An existing project has:




           users           developers
Joining an established
development team can be hard...
Expected transition between the two roles:




           user            developer
user   power   developer
        user
Start with familiar projects:
Maybe something you use everyday
Start a blog and write
about these projects
Look for low hanging fruit
   on the bug tracker
Try to reproduce
the problem
Ask users for
more information
(or clarifications)
Attach patches
to the bug tracker
Fix a problem directly
     affecting you
Start with a piece of software you care about


    Download source




                             Fix a bug



       Send patch
      to developers
Profit!
A new project
   starts with
     3 things
Idea
Apache
 BSD
 *GPL
Putting together
    a tarball
&
source
     data
INSTALL
README
©
COPYING
Public Release
?
useful
to me
(homepage)
clear
 concise
description
Download hosting
Code hosting
Taking care of
the community
Responsive
Serious problems
4 useful tools
Keep track of problems




             in a bug tracker
Store your
documentation
in a wiki
“Individual's economic security
is based upon their skills
and reputation”
                    Netflix CEO
To learn more...

http://www.ubuntu.com/community/participate

http://wiki.debian.org/GetInvolved-Beta

http://tinyurl.com/startingproject
http://tinyurl.com/gettinginvolved
Photo credits:

Lightbulb: http://flickr.com/photos/ppdigital/2329201379/
Lego: http://flickr.com/photos/mn_francis/134291765/
Telephone: http://flickr.com/photos/aoneill/27718289/
Screenshot: http://flickr.com/photos/emmajane/2865747544/
Helping students: http://flickr.com/photos/berzowska/320877733/
House fire: http://www.flickr.com/photos/ohnoitsstevo/1417710651/
Writing: http://www.flickr.com/photos/witheyes/121527260/
Training wheels: http://www.flickr.com/photos/qwrrty/141718410/
Keep calm and carry on: http://www.flickr.com/photos/croma/557971148/
Hand up: http://www.flickr.com/photos/seandreilinger/2326448445/
Clown: http://flickr.com/photos/cyrilcavalie/2762629623/
Beer bottles: http://flickr.com/photos/16038409@N02/2326310839/
Bars: http://flickr.com/photos/edutorres81/2686571658/
Initiation: http://flickr.com/photos/jcmaco/227943123/
LCA Dunk Tank: http://lwn.net/Articles/66665/
Linux forecast:: http://tinyurl.com/5p5cqh
Linux Kernel Map: http://en.wikipedia.org/wiki/File:Linux_kernel_map.png
Tux: http://commons.wikimedia.org/wiki/File:Tux.png
Name tag: http://www.flickr.com/photos/stevegarfield/833593377/

Mais conteúdo relacionado

Mais procurados

Backburner install guide
Backburner install guideBackburner install guide
Backburner install guidedandyg1220
 
Oracle Cloud Resource Model Api
Oracle Cloud Resource Model ApiOracle Cloud Resource Model Api
Oracle Cloud Resource Model Apijucaab
 
Ccdp cisco internetwork design study guide
Ccdp cisco internetwork design study guideCcdp cisco internetwork design study guide
Ccdp cisco internetwork design study guidethibeau
 
Modulo di iscrizione
Modulo di iscrizioneModulo di iscrizione
Modulo di iscrizioneLuca Derosa
 
Smart viewreporter
Smart viewreporterSmart viewreporter
Smart viewreportersagarsethi87
 
Wmp Firefox Plugin License
Wmp Firefox Plugin LicenseWmp Firefox Plugin License
Wmp Firefox Plugin Licensejyimbo
 

Mais procurados (9)

Credits
CreditsCredits
Credits
 
La nw e
La nw eLa nw e
La nw e
 
Backburner install guide
Backburner install guideBackburner install guide
Backburner install guide
 
Oracle Cloud Resource Model Api
Oracle Cloud Resource Model ApiOracle Cloud Resource Model Api
Oracle Cloud Resource Model Api
 
Ccdp cisco internetwork design study guide
Ccdp cisco internetwork design study guideCcdp cisco internetwork design study guide
Ccdp cisco internetwork design study guide
 
Modulo di iscrizione
Modulo di iscrizioneModulo di iscrizione
Modulo di iscrizione
 
Smart viewreporter
Smart viewreporterSmart viewreporter
Smart viewreporter
 
Wmp Firefox Plugin License
Wmp Firefox Plugin LicenseWmp Firefox Plugin License
Wmp Firefox Plugin License
 
Wmp eula
Wmp eulaWmp eula
Wmp eula
 

Semelhante a Contributing to Open Source (20)

License en
License enLicense en
License en
 
Eula En
Eula EnEula En
Eula En
 
Eula
EulaEula
Eula
 
Mslt
MsltMslt
Mslt
 
Storage manager
Storage managerStorage manager
Storage manager
 
License msxml6 enu
License msxml6 enuLicense msxml6 enu
License msxml6 enu
 
Wmp firefox plugin license
Wmp firefox plugin licenseWmp firefox plugin license
Wmp firefox plugin license
 
Wmp eula (5)
Wmp eula (5)Wmp eula (5)
Wmp eula (5)
 
Wmp eula
Wmp eulaWmp eula
Wmp eula
 
Wmp eula
Wmp eulaWmp eula
Wmp eula
 
Wmp eula
Wmp eulaWmp eula
Wmp eula
 
Wmp eula
Wmp eulaWmp eula
Wmp eula
 
Vh sto dvd4ug
Vh sto dvd4ugVh sto dvd4ug
Vh sto dvd4ug
 
Vh sto dvd4ug
Vh sto dvd4ugVh sto dvd4ug
Vh sto dvd4ug
 
License
LicenseLicense
License
 
License
LicenseLicense
License
 
License
LicenseLicense
License
 
License
LicenseLicense
License
 
Eula.3082.txt
Eula.3082.txtEula.3082.txt
Eula.3082.txt
 
Eula
EulaEula
Eula
 

Mais de Francois Marier

Security and Privacy settings for Firefox Power Users
Security and Privacy settings for Firefox Power UsersSecurity and Privacy settings for Firefox Power Users
Security and Privacy settings for Firefox Power UsersFrancois Marier
 
Getting Browsers to Improve the Security of Your Webapp
Getting Browsers to Improve the Security of Your WebappGetting Browsers to Improve the Security of Your Webapp
Getting Browsers to Improve the Security of Your WebappFrancois Marier
 
Hardening Firefox for Security and Privacy
Hardening Firefox for Security and PrivacyHardening Firefox for Security and Privacy
Hardening Firefox for Security and PrivacyFrancois Marier
 
Security and Privacy on the Web in 2016
Security and Privacy on the Web in 2016Security and Privacy on the Web in 2016
Security and Privacy on the Web in 2016Francois Marier
 
Privacy and Tracking Protection in Firefox
Privacy and Tracking Protection in FirefoxPrivacy and Tracking Protection in Firefox
Privacy and Tracking Protection in FirefoxFrancois Marier
 
Security and Privacy on the Web in 2015
Security and Privacy on the Web in 2015Security and Privacy on the Web in 2015
Security and Privacy on the Web in 2015Francois Marier
 
Integrity protection for third-party JavaScript
Integrity protection for third-party JavaScriptIntegrity protection for third-party JavaScript
Integrity protection for third-party JavaScriptFrancois Marier
 
Integrity protection for third-party JavaScript
Integrity protection for third-party JavaScriptIntegrity protection for third-party JavaScript
Integrity protection for third-party JavaScriptFrancois Marier
 
Supporting Debian machines for friends and family
Supporting Debian machines for friends and familySupporting Debian machines for friends and family
Supporting Debian machines for friends and familyFrancois Marier
 
Outsourcing your webapp maintenance to Debian
Outsourcing your webapp maintenance to DebianOutsourcing your webapp maintenance to Debian
Outsourcing your webapp maintenance to DebianFrancois Marier
 
Easy logins for Ruby web applications
Easy logins for Ruby web applicationsEasy logins for Ruby web applications
Easy logins for Ruby web applicationsFrancois Marier
 
Easy logins for JavaScript web applications
Easy logins for JavaScript web applicationsEasy logins for JavaScript web applications
Easy logins for JavaScript web applicationsFrancois Marier
 
You're still using passwords on your site?
You're still using passwords on your site?You're still using passwords on your site?
You're still using passwords on your site?Francois Marier
 
Killing Passwords with JavaScript
Killing Passwords with JavaScriptKilling Passwords with JavaScript
Killing Passwords with JavaScriptFrancois Marier
 
Securing the Web without site-specific passwords
Securing the Web without site-specific passwordsSecuring the Web without site-specific passwords
Securing the Web without site-specific passwordsFrancois Marier
 
Easy logins for PHP web applications
Easy logins for PHP web applicationsEasy logins for PHP web applications
Easy logins for PHP web applicationsFrancois Marier
 
Persona: a federated and privacy-protecting login system for the whole Web
Persona: a federated and privacy-protecting login system for the whole WebPersona: a federated and privacy-protecting login system for the whole Web
Persona: a federated and privacy-protecting login system for the whole WebFrancois Marier
 
Taking the pain out of signing users in
Taking the pain out of signing users inTaking the pain out of signing users in
Taking the pain out of signing users inFrancois Marier
 

Mais de Francois Marier (20)

Security and Privacy settings for Firefox Power Users
Security and Privacy settings for Firefox Power UsersSecurity and Privacy settings for Firefox Power Users
Security and Privacy settings for Firefox Power Users
 
Getting Browsers to Improve the Security of Your Webapp
Getting Browsers to Improve the Security of Your WebappGetting Browsers to Improve the Security of Your Webapp
Getting Browsers to Improve the Security of Your Webapp
 
Hardening Firefox for Security and Privacy
Hardening Firefox for Security and PrivacyHardening Firefox for Security and Privacy
Hardening Firefox for Security and Privacy
 
Security and Privacy on the Web in 2016
Security and Privacy on the Web in 2016Security and Privacy on the Web in 2016
Security and Privacy on the Web in 2016
 
Privacy and Tracking Protection in Firefox
Privacy and Tracking Protection in FirefoxPrivacy and Tracking Protection in Firefox
Privacy and Tracking Protection in Firefox
 
Security and Privacy on the Web in 2015
Security and Privacy on the Web in 2015Security and Privacy on the Web in 2015
Security and Privacy on the Web in 2015
 
Integrity protection for third-party JavaScript
Integrity protection for third-party JavaScriptIntegrity protection for third-party JavaScript
Integrity protection for third-party JavaScript
 
URL to HTML
URL to HTMLURL to HTML
URL to HTML
 
Integrity protection for third-party JavaScript
Integrity protection for third-party JavaScriptIntegrity protection for third-party JavaScript
Integrity protection for third-party JavaScript
 
Supporting Debian machines for friends and family
Supporting Debian machines for friends and familySupporting Debian machines for friends and family
Supporting Debian machines for friends and family
 
Outsourcing your webapp maintenance to Debian
Outsourcing your webapp maintenance to DebianOutsourcing your webapp maintenance to Debian
Outsourcing your webapp maintenance to Debian
 
URL to HTML
URL to HTMLURL to HTML
URL to HTML
 
Easy logins for Ruby web applications
Easy logins for Ruby web applicationsEasy logins for Ruby web applications
Easy logins for Ruby web applications
 
Easy logins for JavaScript web applications
Easy logins for JavaScript web applicationsEasy logins for JavaScript web applications
Easy logins for JavaScript web applications
 
You're still using passwords on your site?
You're still using passwords on your site?You're still using passwords on your site?
You're still using passwords on your site?
 
Killing Passwords with JavaScript
Killing Passwords with JavaScriptKilling Passwords with JavaScript
Killing Passwords with JavaScript
 
Securing the Web without site-specific passwords
Securing the Web without site-specific passwordsSecuring the Web without site-specific passwords
Securing the Web without site-specific passwords
 
Easy logins for PHP web applications
Easy logins for PHP web applicationsEasy logins for PHP web applications
Easy logins for PHP web applications
 
Persona: a federated and privacy-protecting login system for the whole Web
Persona: a federated and privacy-protecting login system for the whole WebPersona: a federated and privacy-protecting login system for the whole Web
Persona: a federated and privacy-protecting login system for the whole Web
 
Taking the pain out of signing users in
Taking the pain out of signing users inTaking the pain out of signing users in
Taking the pain out of signing users in
 

Último

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

Contributing to Open Source

  • 1. Contributing to Open Source Projects Francois Marier francois@catalyst.net.nz
  • 2.
  • 3. I II III what? why? how?
  • 7. Speec h
  • 8.
  • 10. SUN MICROSYSTEMS, INC. ("SUN") IS WILLING TO LICENSE THE SOFTWARE IDENTIFIED BELOW TO YOU 10. U.S. GOVERNMENT RESTRICTED RIGHTS. If Software is being acquired by or on behalf of the U.S. ONLY UPON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS CONTAINED IN THIS BINARY CODE Government or by a U.S. Government prime contractor or subcontractor (at any tier), then the Government's rights LICENSE AGREEMENT AND SUPPLEMENTAL LICENSE TERMS (COLLECTIVELY "AGREEMENT"). PLEASE READ in Software and accompanying documentation will be only as set forth in this Agreement; this is in accordance with THE AGREEMENT CAREFULLY. BY DOWNLOADING OR INSTALLING THIS SOFTWARE, YOU ACCEPT THE 48 CFR 227.7201 through 227.7202-4 (for Department of Defense (DOD) acquisitions) and with 48 CFR 2.101 and TERMS OF THE AGREEMENT. INDICATE ACCEPTANCE BY SELECTING THE "ACCEPT" BUTTON AT THE 12.212 (for non-DOD acquisitions). BOTTOM OF THE AGREEMENT. IF YOU ARE NOT WILLING TO BE BOUND BY ALL THE TERMS, SELECT THE "DECLINE" BUTTON AT THE BOTTOM OF THE AGREEMENT AND THE DOWNLOAD OR INSTALL PROCESS WILL 11. GOVERNING LAW. Any action related to this Agreement will be governed by California law and controlling NOT CONTINUE. U.S. federal law. No choice of law rules of any jurisdiction will apply. 1. DEFINITIONS. "Software" means the identified above in binary form, any other machine readable materials 12. SEVERABILITY. If any provision of this Agreement is held to be unenforceable, this Agreement will remain in (including, but not limited to, libraries, source files, header files, and data files), any updates or error corrections effect with the provision omitted, unless omission would frustrate the intent of the parties, in which case this provided by Sun, and any user manuals, programming guides and other documentation provided to you by Sun under Agreement will immediately terminate. this Agreement. "Programs" mean Java applets and applications intended to run on the Java Platform, Standard Edition (Java SE) on Java-enabled general purpose desktop computers and servers. 13. INTEGRATION. This Agreement is the entire agreement between you and Sun relating to its subject matter. It supersedes all prior or contemporaneous oral or written communications, proposals, representations and 2. LICENSE TO USE. Subject to the terms and conditions of this Agreement, including, but not limited to the Java warranties and prevails over any conflicting or additional terms of any quote, order, acknowledgment, or other Technology Restrictions of the Supplemental License Terms, Sun grants you a non-exclusive, non-transferable, limited communication between the parties relating to its subject matter during the term of this Agreement. No modification license without license fees to reproduce and use internally Software complete and unmodified for the sole purpose of of this Agreement will be binding, unless in writing and signed by an authorized representative of each party. running Programs. Additional licenses for developers and/or publishers are granted in the Supplemental License Terms. These Supplemental License Terms add to or modify the terms of the Binary Code License Agreement. Capitalized 3. RESTRICTIONS. Software is confidential and copyrighted. Title to Software and all associated intellectual property terms not defined in these Supplemental Terms shall have the same meanings ascribed to them in the Binary Code rights is retained by Sun and/or its licensors. Unless enforcement is prohibited by applicable law, you may not modify, License Agreement. These Supplemental Terms shall supersede any inconsistent or conflicting terms in the Binary decompile, or reverse engineer Software. You acknowledge that Licensed Software is not designed or intended for use Code License Agreement, or in any license contained within the Software. in the design, construction, operation or maintenance of any nuclear facility. Sun Microsystems, Inc. disclaims any express or implied warranty of fitness for such uses. No right, title or interest in or to any trademark, service mark, logo 1. Software Internal Use and Development License Grant. Subject to the terms and conditions of this Agreement I Agree or trade name of Sun or its licensors is granted under this Agreement. Additional restrictions for developers and/or and restrictions and exceptions set forth in the Software "README" file incorporated herein by reference, publishers licenses are set forth in the Supplemental License Terms. including, but not limited to the Java Technology Restrictions of these Supplemental Terms, Sun grants you a non- exclusive, non-transferable, limited license without fees to reproduce internally and use internally the Software 4. LIMITED WARRANTY. Sun warrants to you that for a period of ninety (90) days from the date of purchase, as complete and unmodified for the purpose of designing, developing, and testing your Programs. evidenced by a copy of the receipt, the media on which Software is furnished (if any) will be free of defects in materials and workmanship under normal use. Except for the foregoing, Software is provided "AS IS". Your exclusive remedy and 2. License to Distribute Software. Subject to the terms and conditions of this Agreement and restrictions and Sun's entire liability under this limited warranty will be at Sun's option to replace Software media or refund the fee paid exceptions set forth in the Software README file, including, but not limited to the Java Technology Restrictions of for Software. Any implied warranties on the Software are limited to 90 days. Some states do not allow limitations on these Supplemental Terms, Sun grants you a non-exclusive, non-transferable, limited license without fees to duration of an implied warranty, so the above may not apply to you. This limited warranty gives you specific legal rights. reproduce and distribute the Software, provided that (i) you distribute the Software complete and unmodified and You may have others, which vary from state to state. only bundled as part of, and for the sole purpose of running, your Programs, (ii) the Programs add significant and primary functionality to the Software, (iii) you do not distribute additional software intended to replace any 5. DISCLAIMER OF WARRANTY. UNLESS SPECIFIED IN THIS AGREEMENT, ALL EXPRESS OR IMPLIED component(s) of the Software, (iv) you do not remove or alter any proprietary legends or notices contained in the CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF Software, (v) you only distribute the Software subject to a license agreement that protects Sun's interests MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT ARE DISCLAIMED, consistent with the terms contained in this Agreement, and (vi) you agree to defend and indemnify Sun and its EXCEPT TO THE EXTENT THAT THESE DISCLAIMERS ARE HELD TO BE LEGALLY INVALID. licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from 6. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS the use or distribution of any and all Programs and/or Software. LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED REGARDLESS OF THE THEORY 3. Java Technology Restrictions. You may not create, modify, or change the behavior of, or authorize your OF LIABILITY, ARISING OUT OF OR RELATED TO THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN licensees to create, modify, or change the behavior of, classes, interfaces, or subpackages that are in any way HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. In no event will Sun's liability to you, whether in identified as "java", "javax", "sun" or similar convention as specified by Sun in any naming convention designation. contract, tort (including negligence), or otherwise, exceed the amount paid by you for Software under this Agreement. The foregoing limitations will apply even if the above stated warranty fails of its essential purpose. Some states do not 4. Source Code. Software may contain source code that, unless expressly licensed for other purposes, is allow the exclusion of incidental or consequential damages, so some of the terms above may not be applicable to you. provided solely for reference purposes pursuant to the terms of this Agreement. Source code may not be redistributed unless expressly provided for in this Agreement. 7. TERMINATION. This Agreement is effective until terminated. You may terminate this Agreement at any time by destroying all copies of Software. This Agreement will terminate immediately without notice from Sun if you fail to # Third Party Code. Additional copyright notices and license terms applicable to portions of the Software are set comply with any provision of this Agreement. Either party may terminate this Agreement immediately should any forth in the THIRDPARTYLICENSEREADME.txt file. In addition to any terms and conditions of any third party Software become, or in either party's opinion be likely to become, the subject of a claim of infringement of any opensource/freeware license identified in the THIRDPARTYLICENSEREADME.txt file, the disclaimer of warranty intellectual property right. Upon Termination, you must destroy all copies of Software. and limitation of liability provisions in paragraphs 5 and 6 of the Binary Code License Agreement shall apply to all Software in this distribution. 8. EXPORT REGULATIONS. All Software and technical data delivered under this Agreement are subject to US export control laws and may be subject to export or import regulations in other countries. You agree to comply strictly with all # Termination for Infringement. Either party may terminate this Agreement immediately should any Software such laws and regulations and acknowledge that you have the responsibility to obtain such licenses to export, re-export, become, or in either party's opinion be likely to become, the subject of a claim of infringement of any intellectual or import as may be required after delivery to you. property right. 9. TRADEMARKS AND LOGOS. You acknowledge and agree as between you and Sun that Sun owns the SUN, # Installation and Auto-Update. The Software's installation and auto-update processes transmit a limited amount of SOLARIS, JAVA, JINI, FORTE, and iPLANET trademarks and all SUN, SOLARIS, JAVA, JINI, FORTE, and iPLANET- data to Sun (or its service provider) about those specific processes to help Sun understand and optimize them. Sun related trademarks, service marks, logos and other brand designations ("Sun Marks"), and you agree to comply with the does not associate the data with personally identifiable information. You can find more information about the data Sun Trademark and Logo Usage Requirements currently located at http://www.sun.com/policies/trademarks. Any use Sun collects at http://java.com/data/. you make of the Sun Marks inures to Sun's benefit.
  • 13. 2. copy 1. use
  • 14. 2. copy 3. modify 1. use
  • 15. 4. contribute 2. copy 3. modify 1. use
  • 16. 4. contribute 2. copy 3. modify 1. use
  • 17. “The licence gives users these rights ”
  • 18. “It's also a code of conduct for developers ”
  • 19. Source Copy of Share code the licence alike included
  • 21. Professional Porfolio
  • 22.
  • 23.
  • 24. Get work experience with some of the World's best developers
  • 25. You'll learn heaps of skills that employers are looking for
  • 26. Solving your own problems choosing what you work on
  • 27.
  • 30. Start a new project
  • 31. An existing project has: users developers
  • 32. Joining an established development team can be hard...
  • 33.
  • 34.
  • 35. Expected transition between the two roles: user developer
  • 36. user power developer user
  • 37. Start with familiar projects:
  • 38. Maybe something you use everyday
  • 39. Start a blog and write about these projects
  • 40. Look for low hanging fruit on the bug tracker
  • 42. Ask users for more information (or clarifications)
  • 43. Attach patches to the bug tracker
  • 44.
  • 45. Fix a problem directly affecting you
  • 46. Start with a piece of software you care about Download source Fix a bug Send patch to developers
  • 48. A new project starts with 3 things
  • 49. Idea
  • 50.
  • 52.
  • 53. Putting together a tarball
  • 54. & source data
  • 58.
  • 63.
  • 66.
  • 67. Taking care of the community
  • 70.
  • 72.
  • 73.
  • 74. Keep track of problems in a bug tracker
  • 76. “Individual's economic security is based upon their skills and reputation” Netflix CEO
  • 78. http://tinyurl.com/gettinginvolved Photo credits: Lightbulb: http://flickr.com/photos/ppdigital/2329201379/ Lego: http://flickr.com/photos/mn_francis/134291765/ Telephone: http://flickr.com/photos/aoneill/27718289/ Screenshot: http://flickr.com/photos/emmajane/2865747544/ Helping students: http://flickr.com/photos/berzowska/320877733/ House fire: http://www.flickr.com/photos/ohnoitsstevo/1417710651/ Writing: http://www.flickr.com/photos/witheyes/121527260/ Training wheels: http://www.flickr.com/photos/qwrrty/141718410/ Keep calm and carry on: http://www.flickr.com/photos/croma/557971148/ Hand up: http://www.flickr.com/photos/seandreilinger/2326448445/ Clown: http://flickr.com/photos/cyrilcavalie/2762629623/ Beer bottles: http://flickr.com/photos/16038409@N02/2326310839/ Bars: http://flickr.com/photos/edutorres81/2686571658/ Initiation: http://flickr.com/photos/jcmaco/227943123/ LCA Dunk Tank: http://lwn.net/Articles/66665/ Linux forecast:: http://tinyurl.com/5p5cqh Linux Kernel Map: http://en.wikipedia.org/wiki/File:Linux_kernel_map.png Tux: http://commons.wikimedia.org/wiki/File:Tux.png Name tag: http://www.flickr.com/photos/stevegarfield/833593377/