Contributing to YUI

7,873 views

Published on

The slides for my Contributing to YUI Talk at YUIConf2009

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,873
On SlideShare
0
From Embeds
0
Number of Embeds
30
Actions
Shares
0
Downloads
93
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide
  • Contributing to YUI

    1. Contributing to YUI Dav Glass Senior YUI Engineer
    2. Contributing to YUI
    3. Contributing to YUI Status
    4. Contributing to YUI Status Why?
    5. Contributing to YUI Status Why? What?
    6. Contributing to YUI Status Why? What? How?
    7. Contributing to YUI Status Why? What? How? Now What?
    8. Status
    9. Status Where we were:
    10. Status Where we were: Releases on SourceForge
    11. Status Where we were: Releases on SourceForge Semi-Yearly releases
    12. Status Where we were: Releases on SourceForge Semi-Yearly releases No public source
    13. Status Where we were: Releases on SourceForge Semi-Yearly releases No public source Few public contributors
    14. Status Where we were: Where we are now: Releases on SourceForge Semi-Yearly releases No public source Few public contributors
    15. Status Where we were: Where we are now: Releases on SourceForge Source on GitHub Semi-Yearly releases No public source Few public contributors
    16. Status Where we were: Where we are now: Releases on SourceForge Source on GitHub Semi-Yearly releases Daily Builds No public source Few public contributors
    17. Status Where we were: Where we are now: Releases on SourceForge Source on GitHub Semi-Yearly releases Daily Builds No public source YUI 2 & 3 full source Few public contributors
    18. Status Where we were: Where we are now: Releases on SourceForge Source on GitHub Semi-Yearly releases Daily Builds No public source YUI 2 & 3 full source Few public contributors Released 4 other tools
    19. Status Where we were: Where we are now: Releases on SourceForge Source on GitHub Semi-Yearly releases Daily Builds No public source YUI 2 & 3 full source Few public contributors Released 4 other tools YUIDoc
    20. Status Where we were: Where we are now: Releases on SourceForge Source on GitHub Semi-Yearly releases Daily Builds No public source YUI 2 & 3 full source Few public contributors Released 4 other tools YUIDoc Builder
    21. Status Where we were: Where we are now: Releases on SourceForge Source on GitHub Semi-Yearly releases Daily Builds No public source YUI 2 & 3 full source Few public contributors Released 4 other tools YUIDoc Builder PHPLoader
    22. Status Where we were: Where we are now: Releases on SourceForge Source on GitHub Semi-Yearly releases Daily Builds No public source YUI 2 & 3 full source Few public contributors Released 4 other tools YUIDoc Builder PHPLoader Compressor
    23. Status Where we were: Where we are now: Releases on SourceForge Source on GitHub Semi-Yearly releases Daily Builds No public source YUI 2 & 3 full source Few public contributors Released 4 other tools YUIDoc Builder PHPLoader Compressor Several public contributors
    24. Status
    25. Status
    26. Status YUI 2.x:
    27. Status YUI 2.x: Builds: 1,170
    28. Status YUI 2.x: Builds: 1,170 Commits: 1,994
    29. Status YUI 2.x: Builds: 1,170 Commits: 1,994 Committers: 27
    30. Status YUI 2.x: Builds: 1,170 Commits: 1,994 Committers: 27 Non-YUI: 11
    31. Status YUI 2.x: YUI 3.x: Builds: 1,170 Commits: 1,994 Committers: 27 Non-YUI: 11
    32. Status YUI 2.x: YUI 3.x: Builds: 1,170 Builds: 1,315 Commits: 1,994 Committers: 27 Non-YUI: 11
    33. Status YUI 2.x: YUI 3.x: Builds: 1,170 Builds: 1,315 Commits: 1,994 Commits: 3,040 Committers: 27 Non-YUI: 11
    34. Status YUI 2.x: YUI 3.x: Builds: 1,170 Builds: 1,315 Commits: 1,994 Commits: 3,040 Committers: 27 Committers: 20 Non-YUI: 11
    35. Status YUI 2.x: YUI 3.x: Builds: 1,170 Builds: 1,315 Commits: 1,994 Commits: 3,040 Committers: 27 Committers: 20 Non-YUI: 11 Non-YUI: 7
    36. Status Total Builds: 2,580 Avg. Per Month: 215 Avg. Per Day: 7
    37. Status What else have we launched this year?
    38. Status What else have we launched this year? • YUILibrary.com
    39. Status What else have we launched this year? • YUILibrary.com • Forums (4,000+ posts)
    40. Status What else have we launched this year? • YUILibrary.com • Forums (4,000+ posts) • Bug Tracker
    41. Status What else have we launched this year? • YUILibrary.com • Forums (4,000+ posts) • Bug Tracker • IRC Channel #yui
    42. Status What else have we launched this year? • YUILibrary.com • Forums (4,000+ posts) • Bug Tracker • IRC Channel #yui • Twitter @yuilibrary
    43. We've been busy!!
    44. We've been busy!! And we're not done yet.
    45. Why?
    46. Why?
    47. Why? • Fame?
    48. Why? • Fame? • Fortune?
    49. Why? • Fame? • Fortune? • .....
    50. Why? • Fame? • Fortune? • ..... • Profit?
    51. Why?
    52. Why? • Community
    53. Why? • Community • Building something awesome
    54. Why? • Community • Building something awesome • Help solve problems
    55. Why? • Community • Building something awesome • Help solve problems • Fill a need
    56. Why? • Community • Building something awesome • Help solve problems • Fill a need
    57. Why? • Community • Building something awesome • Help solve problems • Fill a need
    58. What?
    59. What?
    60. What? • Bug Fixes
    61. What? • Bug Fixes • Patches
    62. What? • Bug Fixes • Patches • Enhancements
    63. What? • Bug Fixes • Patches • Enhancements
    64. What? • Bug Fixes • Patches • Enhancements • Examples
    65. What? • Bug Fixes • Patches • Enhancements • Examples • API Documentation
    66. What? • Bug Fixes • Patches • Enhancements • Examples • API Documentation • Support
    67. What? • Bug Fixes • Patches • Enhancements • Examples • API Documentation • Support • Test Cases
    68. What? • Bug Fixes • Patches • Enhancements • Examples • API Documentation • Support • Test Cases • New Modules
    69. How?
    70. How?
    71. How? What is Git?
    72. How? What is Git? Git is a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Every Git clone is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server. Branching and merging are fast and easy to do.
    73. How? What is Git? Git is a free & open source, distributed version control Git is a distributed system designed to handle everything from small to very large projects with speed and efficiency. version control system. Every Git clone is a full-fledged repository with complete history andis a full tracking capabilities, Every clone full revision not dependent on network access or a central server. repository. Branching and merging are fast and easy to do.
    74. How? What is GitHub?
    75. How? What is GitHub?
    76. How? Getting the Source Install Git: http://yuilibrary.com/gitfaq/ More Information: http://yuilibrary.com/contrib/
    77. How? Getting the Source
    78. How? Getting the Source Two Options:
    79. How? Getting the Source Two Options: • Public Copy
    80. How? Getting the Source Two Options: • Public Copy • Read-Only
    81. How? Getting the Source Two Options: • Public Copy • Read-Only • Testing
    82. How? Getting the Source Two Options: • Public Copy • Read-Only • Testing • Bug Filing
    83. How? Getting the Source Two Options: • Public Copy • Read-Only • Testing • Bug Filing • Development
    84. How? Getting the Source Two Options:
    85. How? Getting the Source Two Options: • Public Copy
    86. How? Getting the Source Two Options: • Public Copy • Fork the Project
    87. How? Getting the Source Two Options: • Public Copy • Fork the Project • Writable
    88. How? Getting the Source Two Options: • Public Copy • Fork the Project • Writable • Make Changes
    89. How? Getting the Source Two Options: • Public Copy • Fork the Project • Writable • Make Changes • Fix Bugs
    90. How? Getting the Source Two Options: • Public Copy • Fork the Project • Writable • Make Changes • Fix Bugs • Add Tests
    91. How? Forking..
    92. How? Forking is the preferred way of collaboration on GitHub and it works quite well with git. You get your own public repository which contains exactly the same history as the main repository at the time you forked it. You will later push your contributions into this repository and the maintainers of the main repository will pull your commits into the main branch.
    93. How? Forking is the preferred way of collaboration on GitHub and it works quite well with git. You get your own public repository which contains exactly the same history as the mainbranching time Forking on GitHub is like repository at the you forked it. You will later push your contributions into this on steriods. repository and the maintainers of the main repository will pull your commits into the main branch.
    94. How? Forking the project http://github.com/yui/yui3
    95. How? Forking the project http://github.com/yui/yui3
    96. How? Forking the project http://github.com/yui/yui3
    97. How? Forking the project
    98. How? Getting your source
    99. How? Getting your source git clone git@github.com:davglass/yui3.git
    100. How? It is very important that you keep your source up to date.
    101. How? It is very important that you keep your source up to date. More Information: http://yuilibrary.com/contrib/
    102. How? Now that you have the source, what do you do next?
    103. How? General Guidelines:
    104. How? General Guidelines: • Sign & Submit a CLA
    105. How? General Guidelines: • Sign & Submit a CLA • Have a Use Case
    106. How? General Guidelines: • Sign & Submit a CLA • Have a Use Case • Create a Ticket
    107. How? General Guidelines: • Sign & Submit a CLA • Have a Use Case • Create a Ticket • Have a working Test Case
    108. How? General Guidelines: • Sign & Submit a CLA • Have a Use Case • Create a Ticket • Have a working Test Case • Make an Example
    109. How? General Guidelines: • Sign & Submit a CLA • Have a Use Case • Create a Ticket • Have a working Test Case • Make an Example • Be Open to Suggestions
    110. How? Why a CLA? Contributor License Agreement
    111. How? Why a CLA? Contributor License Agreement The CLA ensures that everyone who commits intellectual property to the YUI Library is contributing work that is their own.
    112. How? Why a CLA? Contributor License Agreement The CLA ensures that everyone who commits intellectual property to the YUI Library is contributing work that is their own. More Information: http://developer.yahoo.com/yui/community/
    113. How? Use Case Test Case
    114. How? Use Case Test Case Make sure you have a valid use case for your issue. Cover your bases.
    115. How? Use Case Test Case Make sure you have a valid use case for your issue. Cover your bases. Test cases are very important, but make sure that your test actually tests what you think it does!
    116. How? Pull Requests..
    117. How? Pull Requests.. Pull Requests are how we know what and when you want us to pull your code and start the process of getting it merged into the code line.
    118. How? Pull Requests.. Pull Requests are how we know what and when you want us to pull your code and start the process of getting it merged into the code line.
    119. How? Submitting a Pull Request
    120. How? Submitting a Pull Request http://yuilibrary.com/projects/yui3/
    121. How? Submitting a Pull Request http://yuilibrary.com/projects/yui3/
    122. How? Submitting a Pull Request http://yuilibrary.com/projects/yui3/
    123. How? Submitting a Pull Request
    124. How? Submitting a Pull Request
    125. How? Submitting a Pull Request
    126. How? Submitting a Pull Request Steps from here:
    127. How? Submitting a Pull Request Steps from here: • A Ticket is Created.
    128. How? Submitting a Pull Request Steps from here: • A Ticket is Created. • Owner:
    129. How? Submitting a Pull Request Steps from here: • A Ticket is Created. • Owner: • Determines if valid.
    130. How? Submitting a Pull Request Steps from here: • A Ticket is Created. • Owner: • Determines if valid. • Merges in changes.
    131. How? Submitting a Pull Request Steps from here: • A Ticket is Created. • Owner: • Determines if valid. • Merges in changes. • Creates a build.
    132. How? Submitting a Pull Request Steps from here: • A Ticket is Created. • Owner: • Determines if valid. • Merges in changes. • Creates a build. • Build system pushes to GitHub
    133. How? More Information: http://yuilibrary.com/contrib/
    134. How? Other ways to Contribute
    135. How? Other ways to Contribute • Examples
    136. How? Other ways to Contribute • Examples • Creating new
    137. How? Other ways to Contribute • Examples • Creating new • Updating current
    138. How? Other ways to Contribute • Examples • Creating new • Updating current • Support
    139. How? Other ways to Contribute • Examples • Creating new • Updating current • Support • Submitting Tickets
    140. How? Other ways to Contribute • Examples • Creating new • Updating current • Support • Submitting Tickets • Answering Forum Posts
    141. How? Other ways to Contribute • Examples • Creating new • Updating current • Support • Submitting Tickets • Answering Forum Posts • Writing Tests
    142. How? Other ways to Contribute • Examples • Creating new • Updating current • Support • Submitting Tickets • Answering Forum Posts • Writing Tests • New Modules
    143. Now What?
    144. YUI 3 Gallery http://yuilibrary.com/gallery/
    145. YUI 3 Gallery http://yuilibrary.com/gallery/ Your code on our CDN!
    146. YUI 3 Gallery http://yuilibrary.com/gallery/ Your code on our CDN! Gallery allows all YUI developers to extend the library rapidly, adding modules that are accessible from any YUI 3 use() statement.
    147. YUI 3 Gallery The Rules:
    148. YUI 3 Gallery The Rules: • Submit a CLA
    149. YUI 3 Gallery The Rules: • Submit a CLA • Give it away for free
    150. YUI 3 Gallery The Rules: • Submit a CLA • Give it away for free • License it under YUI's BSD license.
    151. YUI 3 Gallery What's the process?
    152. YUI 3 Gallery Add Add your module and pick a name.
    153. YUI 3 Gallery Add Add your module and pick a name. We will try to approve new modules as Get Approved fast as we can.
    154. YUI 3 Gallery Add Add your module and pick a name. We will try to approve new modules as Get Approved fast as we can. Fork the yui3-gallery project on Fork It! GitHub.
    155. YUI 3 Gallery Add Add your module and pick a name. We will try to approve new modules as Get Approved fast as we can. Fork the yui3-gallery project on Fork It! GitHub. Commit Commit your code to your fork.
    156. YUI 3 Gallery Add Add your module and pick a name. We will try to approve new modules as Get Approved fast as we can. Fork the yui3-gallery project on Fork It! GitHub. Commit Commit your code to your fork. Submit a CDN Request for your CDN Request module from the Gallery.
    157. YUI 3 Gallery Give us some time to approve the CDN Request. It takes a little time.
    158. YUI 3 Gallery Once approved, it will be deployed to our CDN and available to anyone.
    159. YUI 3 Gallery And that's more awesome than Captain James T. Kirk.
    160. YUI 3 Gallery Demo
    161. Thanks!! Dav Glass davglass@gmail.com twitter.com/davglass github.com/davglass blog.davglass.com slideshare.net/davglass

    ×