SlideShare ist ein Scribd-Unternehmen logo
1 von 48
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
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
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
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
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
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
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 

Kürzlich hochgeladen (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
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
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
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
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.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
 
+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...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

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