Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Getting Involved with Spring 101
Search
cbeams
October 27, 2011
Programming
240
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Getting Involved with Spring 101
As presented at SpringOne/2GX 2011 in Chigago, IL.
cbeams
October 27, 2011
More Decks by cbeams
See All by cbeams
The Revolution Will Not Be Centralized
cbeams
0
4.4k
spring.io: Inside and Out
cbeams
0
280
Modern Enterprise Application Configuration with Spring
cbeams
0
77
Intro to Websockets
cbeams
0
270
JavaOne 2012: Java EE and Spring Panel Discusson
cbeams
0
250
Spring 3.1 Review (and 3.2 Preview)
cbeams
0
110
Configuration Enhancements in Spring 3.1
cbeams
0
680
Case Study: Spring Projects on Gradle
cbeams
0
340
Configuration Enhancements in Spring 3.1
cbeams
0
270
Other Decks in Programming
See All in Programming
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.5k
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
260
AI 輔助遺留系統現代化的經驗分享
jame2408
1
990
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
300
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
2
750
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
190
スマートグラスで並列バイブコーディング
hyshu
0
260
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
300
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
150
はてなアカウント基盤 State of the Union
cockscomb
0
670
The NotImplementedError Problem in Ruby
koic
1
920
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
220
Featured
See All Featured
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
240
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Agile that works and the tools we love
rasmusluckow
331
22k
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
Become a Pro
speakerdeck
PRO
31
6k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
220
We Are The Robots
honzajavorek
0
250
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
GitHub's CSS Performance
jonrohan
1033
470k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
330
Transcript
Getting Involved with Spring 101 Chris Beams SpringSource, VMware
Hello!
Chris Beams Committer, core Spring Framework
goals broad overview getting involved today sneak preview of next
gen processes
the spring landscape today
what is Spring?
a framework?
a collection of projects?
a community?
Yes.
spring-framework
spring-framework spring-integration spring-batch spring-data-* spring-roo spring-webflow spring-social spring-amqp spring-hadoop
None
None
many projects, one goal:
provide infrastructural support for enterprise applications
(and there's a lot of infrastructure out there)
many projects, common resources.
springsource.org completely redesigned
issue tracking jira.springsource.org
source control http://fisheye.springsource.org Subversion, e.g http://src.springframework.org/svn/spring-framework Git http://git.springsource.org GitHub http://github.com/SpringSource
continuous integration build.springsource.org
quality control sonar.springsource.org
artifact management Maven Central search.maven.org SpringSource S3 maven repositories (more
on all that in a bit)
forums forum.springsource.org
how we manage our projects
"benevolent dictator" model relatively small teams strong leadership community input
how we design deep subject matter expertise internal peer review
feedback from R&D, consultants, sales engineers distilling jira issues, forum posts conservative releases solve for real-world problems
how we test proper unit testing, integration testing use by
other project teams use by our engineers in the field feedback from users against milestones and RCs
who commits meritocracy typically employees typically strong users we've hired
increasing number of external committers
how we release snapshot->milestone->RC->GA relatively long release cycles plenty of
feedback mostly successful model over time
every project is a little different
every project is a little different share process where it
makes sense but do what's right for each team build systems are a good example
Example spring-framework issue management
Managing SPR JIRA https://jira.springsource.org/browse/SPR 8800+ issues Daily triage Backlog versions
</overview>
ways to get involved
ways to get involved Use the projects! Report issues Help
other users Track and test latest features Participate in user groups Contribute code and other fixes
first things first using Spring projects
quick start (for the impatient)
demo STS template projects
read the documentation http://www.springsource.org/documentation
grab the artifacts via distribution zips http://www.springsource.com/download/community via Maven Central
(preferred) http://search.maven.org
learn from samples and reference applications
samples http://www.springsource.org/samples
reference applications greenhouse live app http://greenhouse.springsource.org home http://www.springsource.org/greenhouse code https://github.com/SpringSource/greenhouse
Spring Roo http://www.springsource.org/spring-roo rapid application development Spring best practices built
in
tutorials http://www.springsource.org/tutorials
stay informed
blogs team blog http://blog.springsource.org news feed http://springsource.org RSS for both
newsletter http://www.springsource.com/newsevents/newsletter-registration
Twitter http://twitter.com/springsource http://twitter.com/springsource/projects http://twitter.com/springsource/employees
Twitter http://twitter.com/springframework http://twitter.com/springframework/team
report issues
improvements & new features share use cases vote!
bugs steps to reproduce are critcal but reproduction projects get
you ♥
repro projects simple as possible self-contained built with Maven or
Gradle
spring-framework-issues https://github.com/SpringSource/spring-framework-issues repro projects, streamlined especially helpful for web application
issues
help other users (and get help when you need it
too)
forum.springsource.org thousands of users great way to build a presence
in the community
stackoverflow.com
None
None
track and test the latest features
snapshots, milestones, RCs http://maven.springframework.org/snapshot http://maven.springframework.org/milestone http://maven.springframework.org/release
all based on Amazon S3 resolvable from Maven but not
browseable http://shrub.appspot.com
participate in user groups google for 'spring user group' in
your area java user groups often have spring content if they don't, consider giving a talk! interested in starting a group? contact
[email protected]
contribute code and other fixes
first: why contribute? scratch your own itch get to know
Spring really well improve your skills street cred, yo.
demo contributor attribution in git projects
kinds of contribution typo fixes, documentation, cosmetic minor bug fixes
and improvements major stuff
how to do it and what to expect
the small stuff typo? doco? just submit a patch or
pull request (we'll talk about pull requests shortly)
the bigger stuff
it's about communication create/comment on the issue express interest, start
a conversation discuss possible implementations build trust
study previous patches and pull requests what kinds of submissions
have been accepted before? code quality, formatting, etc
demo spring-integration pull requests https://github.com/SpringSource/spring-integration/pulls https://github.com/SpringSource/spring-integration/pull/153
grab the source $ svn checkout https://github.com/cbeams/spring-framework.git ... $ git
clone https://github.com/cbeams/spring-framework.git ...
git || svn
git && svn GitHub supports both! https://github.com/blog/966-improved- subversion-client-support your choice
look at the commit log plan to emulate it
demo spring-framework commit log http://progit.org/book/ch5-2.html#commit_guidelines
get to know the project build system Ant ("spring-build") Gradle
("spring-build-gradle") Maven (individual to each project) S2 team blog: building Spring 3
give it a shot! stay in communication with project team
not every contribution will necessarily make it process should be rewarding in any case
(and don't forget tests!)
in any case expect your code to be changed
"Juergenization"
legal stuff You may be asked to sign our CLA
SpringSource Contributor License Agreement
contributing through external projects Example: Spring Social core & Spring
Social Foursquare https://github.com/springsource/spring-social https://github.com/mattupstate/spring-social-foursquare
sneak preview getting involved 2.0
source control improvements everything on GitHub
pull requests are...
the new patch
the new code review
demo pull request / fork and edit
next steps complete the migration of projects spring-framework post 3.1
GA only a few remaining after that
integrate pull requests into our JIRA workflow http://seam-framework.2283336.n4.nabble.com/git-pull-request-JIRA-workflow-td3272708.html http://community.jboss.org/wiki/GuideToUsePullRequestsWithGitHubAndJIRA
improved artifact management Artifactory http://repo.springsource.org
demo: repo.springsource.org unified search put a watch on anytihng license
information transitive resolution migration path from s3 repos
streamline CLA process deep integration via GitHub hooks API CLA
database revised CLA agreement, web-only form
Thanks! @cbeams this presentation on the web: http://cbeams.github.com/spring-community- 101