the psf and you
DESCRIPTION
Steve Holden's talk on the Python Software Foundation and youTRANSCRIPT
The PSF and YouThe PSF and You
Joining the Python CommunityJoining the Python Community
Steve HoldenSteve [email protected]@holdenweb.com
Washington DC Washington DC ZopeZope & Python User Group& Python User GroupOctober 6, 2009October 6, 2009
whoamiwhoami
Steve Holden, B.Sc., FBCS, CITPSteve Holden, B.Sc., FBCS, CITPThe clients like those letters after your nameThe clients like those letters after your name
Python user since release 1.5Python user since release 1.5President, President, Holden Web LLCHolden Web LLC�� Systems consulting and training shop Systems consulting and training shop
��Now delivering DjangoNow delivering Django--based systemsbased systems��Excellent Python training ...Excellent Python training ...
Author, Author, Python Web ProgrammingPython Web Programming (2002)(2002)Chairman, Chairman, Python Software FoundationPython Software Foundation
Goals of This TalkGoals of This Talk
Highlight community activitiesHighlight community activities
Connect you with Connect you with ““the Python communitythe Python community””�� Whatever that is Whatever that is ……
Encourage greater participationEncourage greater participation
The Python CommunityThe Python CommunityWho Is It, What Does It Do?Who Is It, What Does It Do?
The Community?The Community?
The PSF?The PSF?�� 112 nominated members (March 2009)112 nominated members (March 2009)
�� Mostly Mostly notnot core developerscore developers
Contributors?Contributors?�� Source, documentation, blogs, anything!Source, documentation, blogs, anything!
Anyone who wants to join?Anyone who wants to join?�� I donI don’’t think sot think so
�� Must demonstrate some Must demonstrate some commitmentcommitment
Python UsagePython Usage
Nobody really Nobody really knows how many knows how many Python users there Python users there areare
But usageBut usage isisgrowinggrowing
So we can expect a So we can expect a continual stream of continual stream of ……
0200000400000600000800000
100000012000001400000160000018000002000000
Sep Nov Jan Mar May
2.52.63.03.1
Windows Installer Downloads, 2008/9
NoobNoob Enthusiasm!Enthusiasm!
comp.lang.python, January 24, 2009
I just started using python last week and I'm addicted.I just started using python last week and I'm addicted.[[……]]Man, I love Python ! Its so clean and easy to use. Its so compMan, I love Python ! Its so clean and easy to use. Its so complete. It lete. It links into everything one way or another... Java, C, C++, Qt, KDlinks into everything one way or another... Java, C, C++, Qt, KDE, E, SWT, Swing and probably more things that I don't know about. SWT, Swing and probably more things that I don't know about. Python makes sense. Python is readable. Python makes sense. Python is readable. [[……]]I love how Python has object member lists in I love how Python has object member lists in PyDevPyDev in Eclipse. It in Eclipse. It makes it easy to use and explore the language and objects. makes it easy to use and explore the language and objects.
I wrote a simple command line serial emulator in about 10 minuteI wrote a simple command line serial emulator in about 10 minutes s using the using the PySerialPySerial library. Unbelievable.library. Unbelievable.
I see a lot of Python in my future. I see a lot of Python in my future.
How Do We Enthuse How Do We Enthuse NoobsNoobs??
They need to feel that They need to feel that ““II rock!rock!””�� Immediately feeling positive about Python Immediately feeling positive about Python
use!use!
So, how do we have new usersSo, how do we have new users““rocking out of the boxrocking out of the box””??
Get the user excited about Python!Get the user excited about Python!Make them feel part of the communityMake them feel part of the community
What is PythonWhat is Python’’s s marketing propositionmarketing proposition?*?*
* This phrase is more or less guaranteed to get up some people’s noses
The Python The Python NoobNoob ExperienceExperience
WhatWhat’’s the s the ““CompetitionCompetition”” Up To?Up To?
More More ““CompetitionCompetition”” ……
Something More UserSomething More User--OrientedOriented
The Web Site IsnThe Web Site Isn’’t Captivatingt Captivating
Python users canPython users can’’t do cool things?t do cool things?WeWe all know they can!all know they can!
But how does a But how does a noobnoob??
Where are the easily available demos?Where are the easily available demos?�� wxPythonwxPython scores very well herescores very well here
Home page strategy:Home page strategy:make it obvious you can do extremely cool make it obvious you can do extremely cool things with Python quite easilythings with Python quite easily
So, What About So, What About python.orgpython.org??
Some progress since January 2006Some progress since January 2006
ItIt’’s s BleedinBleedin’’ Demised?Demised?
This is April 2006. Look familiar?This is April 2006. Look familiar?
The Conclusion?The Conclusion?
““What a shame thereWhat a shame there’’s no great Python Web s no great Python Web softwaresoftware””Except for Except for ……
But someone needs to do the work But someone needs to do the work ……
Community ActivitiesCommunity Activities
WhatWhat’’s Been Going On?s Been Going On?
Conference Activity VigorousConference Activity Vigorous
PyCon PyCon ---- Atlanta in 2010 Atlanta in 2010 –– yayyay!!International International PyConsPyCons: Argentina, Brazil, : Argentina, Brazil, France, Italy, UK, Peru, France, Italy, UK, Peru, EuroPythonEuroPython ……Regional (Regional (un)conferencesun)conferences�� Just starting to appear in the USJust starting to appear in the US�� PyOhioPyOhio, , PyARPyAR, , PyCampPyCamp TX, TX, ……�� More will doubtless followMore will doubtless follow�� PSF has offered supportPSF has offered support
–– not always actually needed!not always actually needed!
PyCon US AttendancePyCon US Attendance
0
200
400
600
800
1000
1200
2003 2004 2005 2006 2007 2008 2009
# Delegates
Development Needs HelpDevelopment Needs Help
Not responding effectively to Not responding effectively to ““first first patchespatches”” from new potential developersfrom new potential developers
““ Non release critical bug Non release critical bug reports and feature requests reports and feature requests tend to fall down a black hole tend to fall down a black hole after about a weekafter about a week .. ””
comp.lang.pythoncomp.lang.python , January 23, 2009, January 23, 2009
Development GrantsDevelopment Grants
PSF awarded three development grantsPSF awarded three development grants�� SNMPSNMP--based developmentbased development
�� Software Carpentry notesSoftware Carpentry notes
�� JythonJython
Incredibly hard work for assessorsIncredibly hard work for assessors
Not repeated due to lack of manpowerNot repeated due to lack of manpower
��We do support many conferencesWe do support many conferences�� including regional conferencesincluding regional conferences
Recent Conference GrantsRecent Conference Grants
SciPySciPy 20092009 $10,000$10,000EuroPythonEuroPython 20092009 $6,000$6,000PyCon Italia 2009PyCon Italia 2009 $3,500$3,500Python en Santa Fe 2008Python en Santa Fe 2008 $300$300PyArkansasPyArkansas 20082008 $300$300PyCon UK 2008PyCon UK 2008 $3,500$3,500PyOhioPyOhio 20082008 $300$300SciPySciPy 20082008 $7,500$7,500
Greater Participation?Greater Participation?
WhoWho’’s In Charge?s In Charge?
The PSF?The PSF?�� If so then, notionally, meIf so then, notionally, me
Joined the PSF Board in 2004Joined the PSF Board in 2004
Chairman since March 2008Chairman since March 2008
Board is trying to provide open governanceBoard is trying to provide open governance�� But often the members just sayBut often the members just say
““get on with it, pleaseget on with it, please””
WhatWhat’’s the Mission?s the Mission?
…… to promote, protect, and advance the to promote, protect, and advance the Python programming language, and to Python programming language, and to support and facilitate the growth of the support and facilitate the growth of the international community of Python international community of Python programmersprogrammers [my emphasis][my emphasis]
How do we build popular support?How do we build popular support?�� And what kind of support?And what kind of support?�� How can the PSF speak more authoritatively How can the PSF speak more authoritatively
for the for the wholewhole Python community? Python community?
Recent PSF ChangesRecent PSF Changes
Bylaws ChangesBylaws ChangesNow more practical to enlarge membershipNow more practical to enlarge membership
FullFull--time conferences coordinatortime conferences coordinator�� Position canceled due to lossesPosition canceled due to losses
Treasurer engaged 500 hours/yearTreasurer engaged 500 hours/year
Administrative assistantAdministrative assistant�� Remote worker, contracted as neededRemote worker, contracted as needed
�� Catching up on longCatching up on long--standing tasksstanding tasks
Leadership?Leadership?
Open source people are Open source people are notnot easy to leadeasy to lead�� Constructive anarchy?Constructive anarchy?
A A strategystrategy is requiredis required�� This sets the directionThis sets the direction
�� But if nobody gets behind it we may as well But if nobody gets behind it we may as well not bothernot bother��This is the killer issue right nowThis is the killer issue right now
��Board members have only so much time Board members have only so much time ……
��Elected members would rather develop Elected members would rather develop ……
So, WhatSo, What’’s the Strategy?s the Strategy?
Facilitate ways to connect the communityFacilitate ways to connect the communityGeeks arenGeeks aren’’t the best at seeking each other t the best at seeking each other out and starting to collaborateout and starting to collaborate
Support community initiativesSupport community initiativesConferences, Conferences, SIGsSIGs, projects, projectsParticularlyParticularly those that produce visible resultsthose that produce visible results
Which in turn encourage more Python useWhich in turn encourage more Python use
Enable rather than pushEnable rather than push�� Nothing to push Nothing to push withwith at volunteersat volunteers
Still, it’s better thanrunning the Python
Software Foundation
Steve’s Retirement
Basic ApproachBasic Approach
Recruit ideas from Recruit ideas from ““the communitythe community””Encourage people to lead the projectsEncourage people to lead the projectsSupport with resources as requiredSupport with resources as required�� Mostly money (really: what money can buy)Mostly money (really: what money can buy)
Travel, equipment, other resourcesTravel, equipment, other resources
Broader membership availability?Broader membership availability?Python users appear to Python users appear to wantwant to help the PSF!to help the PSF!
You tell us You tell us ……This This cannotcannot be an abstract exercisebe an abstract exercise
Resource LimitsResource Limits
Funds could become a problemFunds could become a problem((Wo)manpowerWo)manpower isisWithout people to run programs we cannot do Without people to run programs we cannot do everything we would likeeverything we would like�� GrantsGrants�� ConferencesConferences�� Infrastructure and Web SiteInfrastructure and Web Site�� PublicationsPublications�� DevelopmentDevelopment�� User GroupsUser Groups�� ……
Engage The World!Engage The World!
Python users are our best advocatesPython users are our best advocatesLetLet’’s give commercial users a channels give commercial users a channel
Explain how Python benefits themExplain how Python benefits them
Gives them a reason to publicize PythonGives them a reason to publicize Python
They can publicize themselves tooThey can publicize themselves too
Python is an excellent teaching languagePython is an excellent teaching languageLeverage existing teachersLeverage existing teachers’’ experienceexperience
�� Convince others of the benefitsConvince others of the benefits
How to Save Developer Time?How to Save Developer Time?
SemiSemi--formal mentoring schemeformal mentoring schemeAttract Attract and retainand retain new developersnew developersWelcome nonWelcome non--developersdevelopers
Lots to do on documentationLots to do on documentationSprints require organizationSprints require organization
Needs time investment from developersNeeds time investment from developersCould be returned many times overCould be returned many times overUltimately leaving them free to develop!Ultimately leaving them free to develop!
The developers have so far mostly ignored this The developers have so far mostly ignored this suggestionsuggestion
Guiding the DevelopersGuiding the Developers
Dialog with users is importantDialog with users is important
Tracker tool is a poor primary channelTracker tool is a poor primary channelVery intimidating to inexperienced usersVery intimidating to inexperienced users
Whose input is the most neededWhose input is the most needed
Tracker Tracker ““archaeologyarchaeology”” project has helpedproject has helped
But the But the RoundUpRoundUp interface is still complexinterface is still complex
Need a more approachable medium?Need a more approachable medium?
Tests still need improvementTests still need improvement
Optimize the WebOptimize the Web
Make Make python.orgpython.org a a portalportal�� Allowing access to diverse groupsAllowing access to diverse groups
�� With decentralized management via APIs*With decentralized management via APIs*
Showcase the best of PythonShowcase the best of Python
Provide a compelling demonstration ofProvide a compelling demonstration of�� The The vibrancevibrance of the Python communityof the Python community
�� The value of PythonThe value of Python
�� Open source idealsOpen source ideals
* But a unified look-and-feel, please … and professional availability levels
Possible Active ContentPossible Active Content
Top Top diggdigg /delicious/delicious item of the dayitem of the dayRecent package index additionsRecent package index additionsNews from projectsNews from projectsFeatured jobs, projects, modules Featured jobs, projects, modules ……Conference news and reportsConference news and reportsLatest Planet linksLatest Planet linksCode snippetsCode snippets…… etc., etc.etc., etc.
One Small PossibilityOne Small Possibility
Possible ImagesPossible Images
The Vision (or The Vision (or AA Vision, Anyway)Vision, Anyway)
PSFBoard
NationalUser
Groups
WebDevand
Maint
FundRaising
LanguageDev
OutreachAnd
Marketing*
Infra-structure
LanguageSpecs
CPython Jython PyPy IronPythonLocalUser
Groups
* There’s that word again …
The Inspirational Bit?The Inspirational Bit?
Ask not what Python can do for youAsk not what Python can do for youBut rather, what But rather, what youyou can do for Pythoncan do for Python
The PSF can use helpThe PSF can use helpJust a question of deciding how you want to Just a question of deciding how you want to contribute.contribute.
Contribution is the route to membershipContribution is the route to membershipBut there are many ways to contributeBut there are many ways to contribute
In the meantime, become an associate?In the meantime, become an associate?
Some Wish List ItemsSome Wish List Items
Maintainer(sMaintainer(s) for ) for Python Success StoriesPython Success Stories�� A different story daily on the home pageA different story daily on the home page
Professional Professional ““brand managementbrand management””�� You think You think ““successsuccess”” happens by accident?happens by accident?
More community members taking controlMore community members taking control�� Own your project, ask for assistanceOwn your project, ask for assistance
Better communication between users and Better communication between users and developersdevelopers�� The issue tracker is not the right forum The issue tracker is not the right forum ……
YOU Are the Python CommunityYOU Are the Python Community
This should be seen as an opportunityThis should be seen as an opportunityProPro--actively represent the communityactively represent the community
ThereThere’’s nothing wrong with s nothing wrong with planning to provide mutual benefitplanning to provide mutual benefitIncreasing Python popularity means Increasing Python popularity means greater opportunitygreater opportunityRemember that newbie?Remember that newbie?
((S)heS)he might be sitting next to youmight be sitting next to youAlways take the time to welcome newcomersAlways take the time to welcome newcomers
Evangelism is OK!Evangelism is OK!
LetLet’’s all be Python evangelists s all be Python evangelists
LetLet’’s all acknowledge our debt to Pythons all acknowledge our debt to Python�� And think about And think about ““giving something back* giving something back* …”…”
Ask the PSF for resourcesAsk the PSF for resources�� We can all help in different waysWe can all help in different ways
�� YourYour ideas are as good as anyone elseideas are as good as anyone else’’ss
The Python community is coolThe Python community is cool
Because Because youyou are cool!are cool!
* Or, better still, putting something in first!
Questions?Questions?
Suggestions?Suggestions?Discussion?Discussion?
Volunteering?Volunteering?Is the bar open yet?Is the bar open yet?