Jacob Kaplan-Moss

Tag: Opensource

🔗 Democratising publishing (#)

“Ghost is a distributed non-profit foundation which gives away all of its intellectual property under a permissive MIT license. The company has no investors and, in fact, no owners of any kind. I don’t own any part of Ghost, and neither does my co-founder Hannah.

We currently generate around $7.5M in annual revenue, and have been profitable and sustainable for the past 12 years.

“Wait, what?”

I’m glad you asked.”

So you want a new admin?

Django’s admin site is about 12 years old. It started circa early 2004 as an internal CMS at the Lawrence Journal-World, was released as part of Django in 2005, and has been chugging away ever since. There’s been some substantial re-writes along the way – magic-removal, new forms, the flat theme – but for the most part the admin’s stayed pretty much the same for that entire time. The interface, functionality, and CRUD-oriented workflow haven’t really changed since those early years at the Journal-World.

May 26th, 2016 • admin django opensource

Getting features into Django

Getting new features into Django isn’t easy. It’s that way for a reason — I spoke recently about why conservatism is a virtue — but it does happen. I’d like to do a better job explaining how we decide what goes in and what goes out, so here’s a lightly adapted version of something I posted on the mailing list this evening. It’s three things I look for when I’m trying to determine whether something is “right” for Django or not:

May 23rd, 2013 • django opensource

Is there a market for paid Django apps?

Here’s a thought that’s been rummaging around in my brain for some time now: is there a market for commercial, closed-source Django apps?

Suppose someone released a high-quality, well-documented, well-supported Django app… under a commercial license. Assume of course that this app does something you actually need, and that the commercial license isn’t odious. Would you pay for a Django app?

I think I would. I have no qualms about paying for good software: in the last month I bought some backup software (Arq), started using a commercial ticket tracker (Pivotal) and time tracker (Freckle). In all cases, free/libre alternatives existed, but the paid versions were easier, slicker, faster, or in some sense “better.” Enough so that they justified their prices (to me). I think if Haystack (to pick an arbitrary example) was commercial (and reasonably priced) I’d pay for it — the time required to build an alternative would almost certainly cost me more.

June 28th, 2011 • django funding opensource

man tar

man tar:

The GNU folks, in general, abhor man pages, and create info documents instead. Unfortunately, the info document describing tar is licensed under the GFDL with invariant cover texts, which makes it impossible to include any text from that document in this man page. Most of the text in this document was automatically extracted from the usage text in the source. It may not completely describe all features of the program.

August 3rd, 2010 • manpage opensource quotes tar ubuntu

Mark Shuttleworth on Tribalism

Mark Shuttleworth:

Tribalism is when one group of people start to think people from another group are “wrong by default”. It’s the great-granddaddy of racism and sexism. And the most dangerous kind of tribalism is completely invisible: it has nothing to do with someone’s “birth tribe” and everything to do with their affiliations: where they work, which sports team they support, which linux distribution they love.

[…]

Let’s be clear: tribalism makes you stupid.

GvR on commit privileges

Guido van Rossum:

Maybe we’ve been too careful with only giving commit privileges to to experienced and trusted new developers. I spoke to Ezio Melotti and from his experience with getting commit privileges, it seems to be a case of “the lion is much more afraid of you than you are afraid of the lion”. I.e. having got privileges he was very concerned about doing something wrong, worried about the complexity of SVN, and so on. Since we’ve got lots of people watching the commit stream, I think that there really shouldn’t need to be a worry at all about a new committer doing something malicious, and there shouldn’t be much worry about honest beginners’ mistakes either – the main worry remains that new committers don’t use their privileges enough. So, my recommendation (which surely is a turn-around of my own attitude in the past) is to give out more commit privileges sooner.

July 26th, 2010 • committers gvr opensource quotes

On commit bits

Commit bits

What’d you do the day you started your job? Got a little tour. Found your desk. Some HR paperwork. Figured out the network. Set up your new company machine. Got your VPN credentials.

And got your commit access to the company’s source control.

Normal first day procedure, I know. And yet, that day-one-commit-bit is one of the starkest differences between the corporate and the open source development model.

November 4th, 2009 • contributors opensource

The power of "no"

The power of “no”

Last week, I wrote on Twitter:

Closed-source software gets worse with each release (Microsoft, Adobe, …). Open-source software gets better (OOo, Ubuntu, …). Discuss.

Much interesting discussion did ensue – mostly around the exceptions (Apple, Google).

However, I’m less interesting in the exceptions than I am in the general rule. Sure, you can find plenty of examples of commercial software that’s improving over time, and, yes, there’s plenty of open source software that suffers from bloat and creeping features. Still, it’s hard to ignore the trend: closed source software seems prone to featuritis, to bloatware, to a trend of more bullet points at the expense of elegance. Open source seems mostly immune to these pressures.

November 2nd, 2009 • no opensource

Contributor License Agreements

Mike Malone emailed me an interesting question, which I thought I’d answer publicly:

[We’ve released code] under the BSD license. We want to accept patches from the community, but were wondering whether we need to get everyone who submits a patch to sign a release or something saying that their patch is BSD too. [Does Django] require everyone who submits a patch to sign that sort of release?

The Right Way is to require that all contributors sign a contributor license agreement (CLA). These differ from project to project, but generally say:

September 17th, 2009 • cla opensource

Twenty questions about the GPL

  1. foo.py is a Python library released under the GPLv3. bar.py is a library distributed commercially. If bar contains import foo, must bar.py be released under the GPL?
  2. Does the answer change if foo.py does not ship with bar.py, but nonetheless requires foo.py to function?
  3. Does the answer change if foo.py does not ship with bar.py and does not require its presence to function?
  4. libfoo.so is a C shared library released under the GPLv3. bar.rb is a Ruby library that uses Ruby/DL to call into libfoo (via dlopen() and friends). Must bar.rb be released under the GPL?
  5. Does the above answer change depending on whether bar.rb is distributed with libfoo.so?
  6. foo.js is a JavaScript library released under the GPLv3. bar.js is a library with all rights reserved. For performance reasons, I would like to minimize all my site’s JavaScript into a single compressed file called foobar.js. If I distribute this file, must I also distribute bar.js under the GPL?
  7. foo.js is a JavaScript library released under the GPLv3. Bar.app is an application developed on the Mozilla platform using XUL. If Bar.app includes foo.js (via a <script> tag), must the source to Bar.app be released under the GPL?
  8. Foo.exe is an application released under the GPLv3. Initech’s HR department modifies Foo.exe for use internally. If Initech shares this application with the Accounts Receivable department, does that count as “conveyance” and require release of the modifications under the GPL?
  9. IniSys is a fully-owned subsidiary of Initech. If Initech shares its modified version of Foo.exe with IniSys, does that trigger the GPL’s conveyance clause?
  10. IniCom is a majority-owned subsidiary of Initech. If Initech shares Foo.exe with IniCom, does that trigger the GPL’s conveyance clause?
  11. Do either of the above answers change if IniSys or IniCom pay IniTech for the right to use (the modified version of) Foo.exe?
  12. Jane is a consultant hired by Initech. If Jane wishes to purchase Foo.exe from Initech for use in her consultancy, does that act trigger the GPL’s conveyance clause?
  13. Jane is a consultant hired by Initech. If Initech provides Foo.exe to Jane for code review, does that trigger the GPL’s conveyance clause? Does the mechanism that Initech uses to provide Jane the code change the answer?
  14. As a standard practice, Initech requires that all consultants working with them use the modified version of Foo.exe. Does this trigger the GPL’s conveyance clause?
  15. To apply for a job at Initech, potential employees must visit an Initech recruitment center and complete an job application using Foo.exe. They do this on computers provided by Initech. Does this trigger the GPL’s conveyance clause?
  16. Initech now decides to make Foo.exe available to job applicants who wish to use their own computers, provided they visit a recruitment center and are within Initech’s private network to download Foo.exe. Does this trigger the GPL’s conveyance clause?
  17. Initech now decides that any job applicant may download Foo.exe from any network connection via a VPN connection to Initech’s internal private network. Does this trigger the GPL’s conveyance clause?
  18. Initech finally decides to simply let any applicant download Foo.exe from a public web server. Does this trigger the GPL’s conveyance clause?
  19. This publically-available download of Foo.exe requires a password only available by calling Initech HR. Does this form count as conveyance?
  20. The previous six questions are all variations on a theme. Is there a basic principle than enables them (and the other countless variations) to be answered quickly by laypeople?

Bonus question:

July 13th, 2009 • freesoftware gpl licensing opensource

Post-OSCONum part 1: try not to suck

Post-OSCONum part 1: try not to suck

Good lord, I’m exhausted.

OSCON was amazing. It’s clear that a sea change is occurring in the open source movement: to paraphrase Tim O’Reilly’s keynote, we’re finally moving away from “free software is better because it’s free” towards “free software is better because it’s better”. This of course makes being a free software author more exciting than ever. Judging by the number of job postings, it’s also easier than ever to actually get paid for work on open source.

July 28th, 2006 • opensource oscon

&quot;Show-stoppers&quot;

Lately a large number of questions posted to django-users have included phrases like “this is a show-stopper” or “this is critical”. I think it’s worth my time to point out that this is a lousy method of getting developers to do what you want. It’s the online equivalent of threatening to take your ball and go home, and is about as effective.

I understand the impulse perfectly: there’s the fear that we won’t take you seriously if you don’t tell us just how important this is.

July 20th, 2006 • bugs communuity django opensource