SlideShare una empresa de Scribd logo
1 de 48
Descargar para leer sin conexión
No! Bad Pony!
 Dr Russell Keith-Magee
    DjangoCon 2009
wotnews.com.au
 wotnews.com
 wotnews.co.uk
wearehunted.com
how is ponny formed?
Genesis of the pony
Cal Henderson @ DjangoCon2008
What does it mean?
What is a pony?
What turns an idea
 into a bad pony?
It’s an idea that...

• Is just plain wrong
• Is impractical
• Isn’t a good fit for Django’s design
• Takes the project in the wrong direction
• Comes without an offer of assistance
Ideas that are wrong
Ideas that are wrong

• Idea violates a standard or best practice
• Idea can’t be implemented
• Rusty Russell Interface Level too high
• Idea violates DRY
Impractical ideas
Impractical ideas

• A problem that doesn’t exist:YAGNI
• Changes the design contract
• Addresses a small part of larger problem
• Architecture astronauting
Design Mismatch
Replace X with Y

• Replace Django’s templates with Jinga
• Replace ORM with SQLAlchemy
• Replace test framework with Nose
Ignores the philosophy

• Add GROUP BY, HAVING to ORM
• Add variables/callables to template language
• Add AJAX to Forms
Just add a setting...

• A setting is a decision deferred
• N settings, 2 configurations
             N


• Doesn’t mean we won’t add settings
Wrong direction
Feature creep


• Make development server multithreaded
• Add connection pooling
Add a backend...

• MS-SQL / DB2 / SQLAnywhere / Firebird
• New authentication schemes (LDAP)
• New serialization schemes (CSV)
• New file stores (S3)
Put another way...

• You say “Add X to core”
• We hear:
 • “Here’s something else to worry about”
 • “Won’t you look after this for me”
• We introduce backend APIs for a reason
The Community

• The core doesn’t have to do everything
• In fact - the core can’t do everything
• The community has an essential role here
• Blessing by core doesn’t make code better
Add X to contrib

• django-tagging
• django-registration
• django-debug-toolbar
What is django.contrib?
A collection of
      optional,
  defacto standard
implementations of
 common patterns
Here’s a big job...
but I’d like someone else to do it (please)
Process Ponies

• Write more blog posts
• Have a weekly news summary
• Have a nightly tarball download
• Have a continuous build
• Have precompiled PDF documentation
Massive Features

• Support for multiple database connections
• Schema Evolution
• Support for non-SQL data stores
Some popular tickets
Almost certainly in 1.2


• #5390 - Signals for ManyRelatedManager
• #7052 - Problems with auth fixture loading
Possibly in 1.2

• #13 - Better related objects admin UI
• #1142 - Multiple database support
• #5833 - Custom Filterspecs
• #6845 - Model Validation
Waiting on patch
• #373 - Multi-column primary keys
• #2879 - Live test server support
• #4102 - Update of specific fields
• #6148 - Database schemas
• #6735 - Class-based generic views
• #7270 - Reverse select_related()
Waiting on design

• #2405 - FOR UPDATE in querysets
• #3011 - Extendable user auth module
• #3591 - Custom app_label/verbose_name
• #7048 - Support clearing FileFields
Waiting on decision

• #17 - Identity mapper
• #2417 - Binary DB fields
• #4604 - Session-based messages
How to get your pony
What won’t work

• Putting your name in the ticket CC
• Saying “me too” on a ticket or list thread
• Posting hyperbole on your blog
• Changing the ticket to “Milestone 1.X”
• Putting the ticket on the 1.X feature wiki
What will work

• Offer to help out
• Better still - actually help out!
• Build up karma
• Do the unglamorous stuff
 • Triage, django-users, patch feedback
Don’t just write code

• Yes, code needs to be written
• It isn’t just a matter of writing a patch
• You need to be an advocate
• Best advocate is someone who is trusted
A matter of trust

• Core team has limited resources
• We need to make best use of that time
• Understand the core DVCS message:
 • It’s all about trust
 • It’s not about forking - it’s about merging
If you must...

• Do the research
• Demonstrate you understand the problem
• Implementation trumps idle discussion
• Maximise utility for the core team
Yes Virginia,
you can have a pony.
No Pony
       !=
End of the world
Fin

Más contenido relacionado

Destacado

Introduction to django-config
Introduction to django-configIntroduction to django-config
Introduction to django-configTareque Hossain
 
State of Pinax
State of PinaxState of Pinax
State of Pinaxjtauber
 
Fighting Malnutrition with SMS and Django
Fighting Malnutrition with SMS and DjangoFighting Malnutrition with SMS and Django
Fighting Malnutrition with SMS and DjangoAndy McKay
 
Cowboy development with Django
Cowboy development with DjangoCowboy development with Django
Cowboy development with DjangoSimon Willison
 
DjangoCon 2009 Keynote
DjangoCon 2009 KeynoteDjangoCon 2009 Keynote
DjangoCon 2009 KeynoteTed Leung
 

Destacado (6)

DjangoCon09: The Test Client
DjangoCon09: The Test ClientDjangoCon09: The Test Client
DjangoCon09: The Test Client
 
Introduction to django-config
Introduction to django-configIntroduction to django-config
Introduction to django-config
 
State of Pinax
State of PinaxState of Pinax
State of Pinax
 
Fighting Malnutrition with SMS and Django
Fighting Malnutrition with SMS and DjangoFighting Malnutrition with SMS and Django
Fighting Malnutrition with SMS and Django
 
Cowboy development with Django
Cowboy development with DjangoCowboy development with Django
Cowboy development with Django
 
DjangoCon 2009 Keynote
DjangoCon 2009 KeynoteDjangoCon 2009 Keynote
DjangoCon 2009 Keynote
 

Similar a DjangoCon09: No! Bad Pony!

Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Ivo Jansch
 
The 7 Sins of Software Engineers in HEP
The 7 Sins of Software Engineers in HEPThe 7 Sins of Software Engineers in HEP
The 7 Sins of Software Engineers in HEPIoannis Baltopoulos
 
Pownce Lessons Learned
Pownce Lessons LearnedPownce Lessons Learned
Pownce Lessons Learnedleahculver
 
Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Ivo Jansch
 
ILUG 2008 Templates, Templates Everywhere
ILUG 2008 Templates, Templates EverywhereILUG 2008 Templates, Templates Everywhere
ILUG 2008 Templates, Templates EverywhereKevin Pettitt
 
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...Scott Abel
 
Analyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation LibraryAnalyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation LibraryScott Abel
 
Building Twitter in Drupal
Building Twitter in DrupalBuilding Twitter in Drupal
Building Twitter in DrupalJeff Eaton
 
Continuous Integration for Citizens
Continuous Integration for CitizensContinuous Integration for Citizens
Continuous Integration for CitizensMikhail Zyatin
 
Web Design Workshop
Web Design WorkshopWeb Design Workshop
Web Design WorkshopSuseZ
 
Continuous Integration for Citizens
Continuous Integration for CitizensContinuous Integration for Citizens
Continuous Integration for CitizensMikhail Zyatin
 
What Would Core Do?
What Would Core Do?What Would Core Do?
What Would Core Do?Jake Goldman
 
Gw Pres Agile 4slideshare
Gw Pres Agile 4slideshareGw Pres Agile 4slideshare
Gw Pres Agile 4slideshareDave Burke
 
Brutal refactoring, lying code, the Churn, and other emotional stories from L...
Brutal refactoring, lying code, the Churn, and other emotional stories from L...Brutal refactoring, lying code, the Churn, and other emotional stories from L...
Brutal refactoring, lying code, the Churn, and other emotional stories from L...Matthias Noback
 
The End of Data Entry: Liberate Your Organization Through Automation and Inte...
The End of Data Entry: Liberate Your Organization Through Automation and Inte...The End of Data Entry: Liberate Your Organization Through Automation and Inte...
The End of Data Entry: Liberate Your Organization Through Automation and Inte...CAMT
 
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
Just In Time Scalability  Agile Methods To Support Massive Growth PresentationJust In Time Scalability  Agile Methods To Support Massive Growth Presentation
Just In Time Scalability Agile Methods To Support Massive Growth PresentationLong Nguyen
 

Similar a DjangoCon09: No! Bad Pony! (20)

SEO and Accessibility
SEO and AccessibilitySEO and Accessibility
SEO and Accessibility
 
Rails For Legacy Apps
Rails For Legacy AppsRails For Legacy Apps
Rails For Legacy Apps
 
Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)
 
The 7 Sins of Software Engineers in HEP
The 7 Sins of Software Engineers in HEPThe 7 Sins of Software Engineers in HEP
The 7 Sins of Software Engineers in HEP
 
Pownce Lessons Learned
Pownce Lessons LearnedPownce Lessons Learned
Pownce Lessons Learned
 
Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008
 
ILUG 2008 Templates, Templates Everywhere
ILUG 2008 Templates, Templates EverywhereILUG 2008 Templates, Templates Everywhere
ILUG 2008 Templates, Templates Everywhere
 
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
 
Analyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation LibraryAnalyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation Library
 
Building Twitter in Drupal
Building Twitter in DrupalBuilding Twitter in Drupal
Building Twitter in Drupal
 
Mojomojo Talk
Mojomojo TalkMojomojo Talk
Mojomojo Talk
 
Continuous Integration for Citizens
Continuous Integration for CitizensContinuous Integration for Citizens
Continuous Integration for Citizens
 
Symfony for non-techies
Symfony for non-techiesSymfony for non-techies
Symfony for non-techies
 
Web Design Workshop
Web Design WorkshopWeb Design Workshop
Web Design Workshop
 
Continuous Integration for Citizens
Continuous Integration for CitizensContinuous Integration for Citizens
Continuous Integration for Citizens
 
What Would Core Do?
What Would Core Do?What Would Core Do?
What Would Core Do?
 
Gw Pres Agile 4slideshare
Gw Pres Agile 4slideshareGw Pres Agile 4slideshare
Gw Pres Agile 4slideshare
 
Brutal refactoring, lying code, the Churn, and other emotional stories from L...
Brutal refactoring, lying code, the Churn, and other emotional stories from L...Brutal refactoring, lying code, the Churn, and other emotional stories from L...
Brutal refactoring, lying code, the Churn, and other emotional stories from L...
 
The End of Data Entry: Liberate Your Organization Through Automation and Inte...
The End of Data Entry: Liberate Your Organization Through Automation and Inte...The End of Data Entry: Liberate Your Organization Through Automation and Inte...
The End of Data Entry: Liberate Your Organization Through Automation and Inte...
 
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
Just In Time Scalability  Agile Methods To Support Massive Growth PresentationJust In Time Scalability  Agile Methods To Support Massive Growth Presentation
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
 

Último

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 

Último (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

DjangoCon09: No! Bad Pony!

  • 1. No! Bad Pony! Dr Russell Keith-Magee DjangoCon 2009
  • 4. how is ponny formed?
  • 6. Cal Henderson @ DjangoCon2008
  • 7.
  • 8. What does it mean?
  • 9. What is a pony?
  • 10.
  • 11. What turns an idea into a bad pony?
  • 12.
  • 13. It’s an idea that... • Is just plain wrong • Is impractical • Isn’t a good fit for Django’s design • Takes the project in the wrong direction • Comes without an offer of assistance
  • 14. Ideas that are wrong
  • 15. Ideas that are wrong • Idea violates a standard or best practice • Idea can’t be implemented • Rusty Russell Interface Level too high • Idea violates DRY
  • 17. Impractical ideas • A problem that doesn’t exist:YAGNI • Changes the design contract • Addresses a small part of larger problem • Architecture astronauting
  • 19. Replace X with Y • Replace Django’s templates with Jinga • Replace ORM with SQLAlchemy • Replace test framework with Nose
  • 20. Ignores the philosophy • Add GROUP BY, HAVING to ORM • Add variables/callables to template language • Add AJAX to Forms
  • 21. Just add a setting... • A setting is a decision deferred • N settings, 2 configurations N • Doesn’t mean we won’t add settings
  • 23. Feature creep • Make development server multithreaded • Add connection pooling
  • 24. Add a backend... • MS-SQL / DB2 / SQLAnywhere / Firebird • New authentication schemes (LDAP) • New serialization schemes (CSV) • New file stores (S3)
  • 25. Put another way... • You say “Add X to core” • We hear: • “Here’s something else to worry about” • “Won’t you look after this for me” • We introduce backend APIs for a reason
  • 26. The Community • The core doesn’t have to do everything • In fact - the core can’t do everything • The community has an essential role here • Blessing by core doesn’t make code better
  • 27. Add X to contrib • django-tagging • django-registration • django-debug-toolbar
  • 29. A collection of optional, defacto standard implementations of common patterns
  • 30. Here’s a big job... but I’d like someone else to do it (please)
  • 31. Process Ponies • Write more blog posts • Have a weekly news summary • Have a nightly tarball download • Have a continuous build • Have precompiled PDF documentation
  • 32. Massive Features • Support for multiple database connections • Schema Evolution • Support for non-SQL data stores
  • 34. Almost certainly in 1.2 • #5390 - Signals for ManyRelatedManager • #7052 - Problems with auth fixture loading
  • 35. Possibly in 1.2 • #13 - Better related objects admin UI • #1142 - Multiple database support • #5833 - Custom Filterspecs • #6845 - Model Validation
  • 36. Waiting on patch • #373 - Multi-column primary keys • #2879 - Live test server support • #4102 - Update of specific fields • #6148 - Database schemas • #6735 - Class-based generic views • #7270 - Reverse select_related()
  • 37. Waiting on design • #2405 - FOR UPDATE in querysets • #3011 - Extendable user auth module • #3591 - Custom app_label/verbose_name • #7048 - Support clearing FileFields
  • 38. Waiting on decision • #17 - Identity mapper • #2417 - Binary DB fields • #4604 - Session-based messages
  • 39. How to get your pony
  • 40. What won’t work • Putting your name in the ticket CC • Saying “me too” on a ticket or list thread • Posting hyperbole on your blog • Changing the ticket to “Milestone 1.X” • Putting the ticket on the 1.X feature wiki
  • 41. What will work • Offer to help out • Better still - actually help out! • Build up karma • Do the unglamorous stuff • Triage, django-users, patch feedback
  • 42. Don’t just write code • Yes, code needs to be written • It isn’t just a matter of writing a patch • You need to be an advocate • Best advocate is someone who is trusted
  • 43. A matter of trust • Core team has limited resources • We need to make best use of that time • Understand the core DVCS message: • It’s all about trust • It’s not about forking - it’s about merging
  • 44. If you must... • Do the research • Demonstrate you understand the problem • Implementation trumps idle discussion • Maximise utility for the core team
  • 45. Yes Virginia, you can have a pony.
  • 46.
  • 47. No Pony != End of the world
  • 48. Fin