$30 off During Our Annual Pro Sale. View Details »
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
0
230
Getting Involved with Spring 101
As presented at SpringOne/2GX 2011 in Chigago, IL.
cbeams
October 27, 2011
Tweet
Share
More Decks by cbeams
See All by cbeams
The Revolution Will Not Be Centralized
cbeams
0
3.9k
spring.io: Inside and Out
cbeams
0
260
Modern Enterprise Application Configuration with Spring
cbeams
0
67
Intro to Websockets
cbeams
0
260
JavaOne 2012: Java EE and Spring Panel Discusson
cbeams
0
240
Spring 3.1 Review (and 3.2 Preview)
cbeams
0
85
Configuration Enhancements in Spring 3.1
cbeams
0
660
Case Study: Spring Projects on Gradle
cbeams
0
330
Configuration Enhancements in Spring 3.1
cbeams
0
250
Other Decks in Programming
See All in Programming
AIエージェントの設計で注意するべきポイント6選
har1101
4
250
GISエンジニアから見たLINKSデータ
nokonoko1203
0
140
ローカルLLMを⽤いてコード補完を⾏う VSCode拡張機能を作ってみた
nearme_tech
PRO
0
100
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
8
3k
チームをチームにするEM
hitode909
0
340
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
38
26k
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.4k
認証・認可の基本を学ぼう前編
kouyuume
0
250
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
510
関数実行の裏側では何が起きているのか?
minop1205
1
710
俺流レスポンシブコーディング 2025
tak_dcxi
14
8.9k
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
430
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
2.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
The Cult of Friendly URLs
andyhume
79
6.7k
How GitHub (no longer) Works
holman
316
140k
Six Lessons from altMBA
skipperchong
29
4.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
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