The PSF and You

55
The PSF and You The PSF and You Joining the Python Community Joining the Python Community Steve Holden Steve Holden [email protected] [email protected] Washington DC Washington DC Zope Zope & Python User Group & Python User Group October 6, 2009 October 6, 2009

description

Steve Holden's talk on the Python Software Foundation and you

Transcript of The PSF and You

Page 1: The PSF and You

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

Page 2: The PSF and You

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

Page 3: The PSF and You

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

Page 4: The PSF and You

The Python CommunityThe Python CommunityWho Is It, What Does It Do?Who Is It, What Does It Do?

Page 5: The PSF and You

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

Page 6: The PSF and You

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

Page 7: The PSF and You
Page 8: The PSF and You

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.

Page 9: The PSF and You

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

Page 10: The PSF and You

The Python The Python NoobNoob ExperienceExperience

Page 11: The PSF and You

WhatWhat’’s the s the ““CompetitionCompetition”” Up To?Up To?

Page 12: The PSF and You

More More ““CompetitionCompetition”” ……

Page 13: The PSF and You

Something More UserSomething More User--OrientedOriented

Page 14: The PSF and You

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

Page 15: The PSF and You
Page 16: The PSF and You
Page 17: The PSF and You
Page 18: The PSF and You
Page 19: The PSF and You
Page 20: The PSF and You
Page 21: The PSF and You
Page 22: The PSF and You
Page 23: The PSF and You
Page 24: The PSF and You

So, What About So, What About python.orgpython.org??

Some progress since January 2006Some progress since January 2006

Page 25: The PSF and You

ItIt’’s s BleedinBleedin’’ Demised?Demised?

This is April 2006. Look familiar?This is April 2006. Look familiar?

Page 26: The PSF and You

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 ……

Page 27: The PSF and You

Community ActivitiesCommunity Activities

WhatWhat’’s Been Going On?s Been Going On?

Page 28: The PSF and You

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!

Page 29: The PSF and You

PyCon US AttendancePyCon US Attendance

0

200

400

600

800

1000

1200

2003 2004 2005 2006 2007 2008 2009

# Delegates

Page 30: The PSF and You

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

Page 31: The PSF and You

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

Page 32: The PSF and You

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

Page 33: The PSF and You

Greater Participation?Greater Participation?

Page 34: The PSF and You

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””

Page 35: The PSF and You

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?

Page 36: The PSF and You

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

Page 37: The PSF and You

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 ……

Page 38: The PSF and You

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

Page 39: The PSF and You

Still, it’s better thanrunning the Python

Software Foundation

Steve’s Retirement

Page 40: The PSF and You

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

Page 41: The PSF and You

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�� ……

Page 42: The PSF and You

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

Page 43: The PSF and You

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

Page 44: The PSF and You

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

Page 45: The PSF and You

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

Page 46: The PSF and You

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.

Page 47: The PSF and You

One Small PossibilityOne Small Possibility

Page 48: The PSF and You

Possible ImagesPossible Images

Page 49: The PSF and You

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 …

Page 50: The PSF and You

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?

Page 51: The PSF and You

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 ……

Page 52: The PSF and You
Page 53: The PSF and You

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

Page 54: The PSF and You

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!

Page 55: The PSF and You

Questions?Questions?

Suggestions?Suggestions?Discussion?Discussion?

Volunteering?Volunteering?Is the bar open yet?Is the bar open yet?