Funding Django is not an act of charity, it's an investment
djangoproject.com
djangoproject.com
"We don't donate to OSS software which we use, because we're legally not allowed to.
I routinely send key projects, particularly smaller projects, a request to quote me a commercial license of their project, with the explanation that I would accept a quote of $1,000 and that the commercial license can be their existing OSS license plus an invoice. My books suggest we've spent $3k on this in 2015. My bookkeeper, accountant, and the IRS/NTA are united on this issue: they don't care whether a software license is OSS or not. A $1k invoice is a $1k invoice; as a software company, I have virtually carte blanche to expense any software I think is reasonably required, and I think our OSS is reasonably required.
I would do this more often if OSS projects made it easier for me to do so. Getting me to pay $1,000 for software is easy; committing me to doing lots of admin work over the course of a week is less easy. Take a look at what e.g. http://sidekiq.org/ , which is an OSS project with a commercial model, does. Two clicks gets me to a credit card form. If I actually used Sidekiq, Mike would have had my credit card on file the day that form went up."
Anyway I'm all for using software you pay for, because it has a higher probability of being around next year. One person donating a responsible amount is not going to guarantee that. Its a start I guess.
The point patio11 makes here is that as a company things are not so easy:
> Both countries are very lenient with regards to necessary business expenses (必須経費 over here). Neither particularly likes arbitrary money moving out of the company; that smacks of unreported income.
("unreported income" here means money paid to an employee but not reported as income). With a proper invoice and line item, all the boxes are checked and a random audit won't fall on the company like a ton of bricks.
Even if the system handles company donations, that tends to be more complex both internally and externally than a "software license" line item, and thus to have way more overhead and to be way more likely to be refused.
Not if it came out of the company's coffers.
But yes, if you change the premise of the original comment, sure, you can easily make a personal donation to an OSS project.
I guess I think the positioning in the linked comment is bombastic, but litigating it out of context is boring.
Let's say I fix patio11's backyard patio. Instead of requesting payment for the work, I fork Django and send him an invoice for a license. He pays me thousands of dollars for a commercial, OSS Django license, and writes it off as a necessary business expense.
It's the same scam whether it's a donation or a license purchase. I just don't get the point.
I think it boils down to the fact that you can have business expenses, you deduce that from your revenue and it's all good, but other than that if you want to get money out of your company (salaries, dividends, etc.) you're being taxed.
I guess the tax office wouldn't want you to just "donate" money from your company to get it out without paying taxes.
Well, maybe I have... through some hierarchical, open-source, licensing "tax".
Cooperations can probably only donate to 501(c)(3)s without it being considered paying someone off the books or, worse, money laundering by IRS standards.
If the project doesn't have any ability to send an invoice then they probably aren't formal enough for a 501(c)(3).
That being said, its only a few clicks to send someone an invoice in PayPal so its a little odd this is a difficult thing for an open source project to do.
Selling a product [even as a software license], iirc, is a legal mess akin to what he is complaining about.
https://www.irs.gov/Charities-&-Non-Profits/Unrelated-Busine...
https://www.irs.gov/Charities-&-Non-Profits/Charitable-Organ...
So you'd need to be careful not to stray out of those exemptions which means you can't pay people among other things. Patio11 really just wants to shift the tax compliance mess onto the OSS which I sort of get but at the same is alot more convoluted than a business donation in the US.
Unrelated business income is a very risky business for any sort of non-profit endeavor because it risks you losing your non-profit status.
Patio11 is basically saying "Run a for-profit company for FOSS" operations.
Either way, you make a really good point. Just getting tax exempt status and dealing with processing invoices would be a huge hassle for probably the vast majority of FOSS projects, which may have a vibrant community but are really just a handful of people in various parts of the world pushing commits to a repo.
It seems like there could be a great opportunity for some kind of platform company that handled all this hassle for FOSS projects that want to offer paid licenses.
FOSS expenses are generally related to giving the developers money to do X or for infrastructure. [e.g. Pay for bug bounties, pay for security audits, FreeBSD's utility bills for electricity]
At which point, it isn't "donated merchandise" as you are paying for some of the contributions and/or using sales to fund your infrastructure. That is a slippery slope to audits which is the sort of mess that Patio11 is trying to avoid on his end by exporting it to the FOSS end.
Except, this time, instead of line items its integral to the entire code for the project in some cases which risks calling the entire project into question. [e.g. security audits, paying for infrastructure]
> It seems like there could be a great opportunity for some kind of platform company that handled all this hassle for FOSS projects that want to offer paid licenses.
This isn't a SaaS platform opportunity. This is a "You have to pay a CPA and a Non-Profit Tax Attorney" situation to make sure you are on the right side of the law with the entire process from end to end.
https://blogs.gnome.org/jnelson/2014/06/30/the-new-501c3-and...
> The requests for clarification contained mostly non-surprising questions. For example, “Describe whether your organization provides any goods or services for a fee.” (We don’t.) Some were odd: “Will any of your directors or employees reside at your facility [i.e. our office]?” (Ah…no.)
> You have a substantial nonexempt purpose because you develop software published under open source compatible licenses that authorize use by any person for any purpose, including nonexempt purposes such as commercial, recreational, or personal purposes, including campaign intervention and lobbying.
These are the sort of questions you get asked as part of the 501(c)3 process and this would qualify as "providing any goods or services for a fee" almost certainly.
Really, in order to sell licenses like Patio11 would like, you need to be a For Profit entity. You have no chance of going any other direction.
FreeBSD, Apache, etc.
This being the case, it made sense to point the obvious problem with the "sell a license" issue. I'm not saying a for-profit is "wrong" but you aren't taking tax deductible donations if you are running a for-profit.
No. That is absurdly wrong.
https://www.irs.gov/Charities-&-Non-Profits/Substantially-re...
> To determine if a business activity is substantially related requires examining the relationship between the activities that generate income and the accomplishment of the organization's exempt purpose. Trade or business is related to exempt purposes, in the statutory sense, only when the conduct of the business activities has causal relationship to achieving exempt purposes (other than through the production of income). The causal relationship must be substantial. The activities that generate the income must contribute importantly to accomplishing the organization's exempt purposes to be substantially related.
i.e. The activity has to have a causal relationship to the exempt purpose regardless of the profit motive.
Good luck convincing people software licenses qualify in the current environment without a CPA and a Tax Attorney managing things end to end.
It can be done but not from the angle you claim. It has to be done for the direction of "This is our exempt purpose and by providing X we further that purpose despite the monetary gain to cover expenses."
For sure. It's definitely not a purely software oppirtunity.
I'm just looking at the situation and seeing something interesting: there are companies that have the money and the will to pay for FOSS projects, and there are FOSS projects that would benefit from the money, but due to their small scale they can't reasonably deal with all the hassle involved in becoming an entity that can take advantage of the mo ey companies are willing to spend. Maybe some kind of third party could centralize that hassle and make it super easy for FOSS projects to get some useful cash. I have no idea how that would be structured or even if the market is there or if the unit economics would make sense.
I'm seeing a lot of contention over selling a license for a product. Would it be a viable workaround to sell installation media? I know OpenBSD sells CDs of its releases, though I am not sure I know the details of that (there seems to be a difference between the OpenBSD CDs and the OpenBSD Foundation).
OpenBSD is also Canadian which is neither American or Japanese [which is the part the original parent was talking about] so I don't know their tax laws at all. :/
Individual donations and corporate donations are a course that don't require that level of expertise to execute on as a revenue source.
Running a for-profit that sells software licenses is the cheapest way to comply if you intend to sell software licenses as you don't need to pay a 3rd party to prepare taxes for your LLC and advise you on how to keep your 501(c)3 exemption.
> "We don't donate to OSS software which we use, because we're legally not allowed to.
I routinely send key projects, particularly smaller projects, a request to quote me a commercial license of their project, with the explanation that I would accept a quote of $1,000 and that the commercial license can be their existing OSS license plus an invoice. My books suggest we've spent $3k on this in 2015. My bookkeeper, accountant, and the IRS/NTA are united on this issue: they don't care whether a software license is OSS or not. A $1k invoice is a $1k invoice; as a software company, I have virtually carte blanche to expense any software I think is reasonably required, and I think our OSS is reasonably required.
This shoots red flags, so I'd like to share:
Anti Money Laundering:
Any auditor, bank, investor, or interested party, is required to ensure money laundering is not part of a business plan, just a compliance step. Donating to 'associate' with 'suggestions' of the price need this in some for of documentary proof for the 'suggestion'. As the software is Open Source, where's the value-added vs. throwing $1000 to a friend? S/PaaS is the answer, but it should be documented.
Anti-terrorist financing:
Yes, this is a thing (on the receiver side). Not to worry about unless your don't have multiple small transactions coming to your bank account in a short period of time (perhaps sending an email asking for donations) at which the account and ownership should be inspected by the receiving bank. Get 100 donations of varying small sizes, $1+ in a short period of time, expect to get flagged as possible.
Just a heads-up on compliance for how unexpected regulation can stop throw a small cog in the wheels of what you want to do.
The point of paying them after an actual invoice is that they're running a business and have to report that income to the IRS, and you have an invoice to show the IRS for your business.
These things make sense to me: - You need an invoice for the IRS - Sometimes bad things happen sending money - Sometimes bad things happen receiving money
All this seems reasonable, so your "no" is confusing.
Receiving and sending money isn't just about having an invoice, it about documenting that business decisions were made for ethical reasons.
Getting a bank account suspended because of AML/ATF automatic red-flags is a major risk for any small business.
> > "We don't donate to OSS software which we use, because we're legally not allowed to.
> I routinely send key projects, particularly smaller projects, a request to quote me a commercial license of their project, with the explanation that I would accept a quote of $1,000 and that the commercial license can be their existing OSS license plus an invoice. My books suggest we've spent $3k on this in 2015. My bookkeeper, accountant, and the IRS/NTA are united on this issue: they don't care whether a software license is OSS or not. A $1k invoice is a $1k invoice; as a software company, I have virtually carte blanche to expense any software I think is reasonably required, and I think our OSS is reasonably required.
> This shoots red flags, so I'd like to share:
> Anti Money Laundering:
Negotiating a price isn't money laundering. If you have records of your customers, then you have proof you weren't laundering money.
> Anti-terrorist financing:
If you do what SQLite does (they either sell their software for $1000 or give it away gratis), then this isn't an issue.
That's what I did.
There is also the tax benefit. A 1000 dollar donation (or software license purchase) would only be ~700 assuming that Patrick still wanted to make the same donation with the same effect on his personal spending power.
1. Modify the license for django to stipulate that companies using the software must display a highly visible 'powered by the free version of Django' badge on their website. 2. Allow that notice to be removed for x per year.
I get that it's a complex legal and accounting question and I must be missing something.
People would just stop using Django for new projects. That's a very silly requirement that would turn a lot of people away. That's basically a freemium model. Anyway if it's OSS I can just fork the project and do what I want with it. If I can't, it's not OSS.
also such no-fork licenses are definitely not Open Source.
(this was very similar to the cause of the xfree86 -> xorg fork)
In Germany, the legislative has created a way to handle this:
If you are a recognised nonprofit ("gemeinnützige Organisation ") you can give your donors donation receipts which count for tax purposes. It is literally an invoice for a donation, but importantly the transaction will not be taxed, the donors simply deduct it from their income and the recipients simply have more money, without accounting overhead.
If you are a nonprofit which works with international companies (we for example worked with them to organise events for students), this can be quite tricky to explain, since the concept seems a bit alien to their accountants, who are used to sponsorship deals or simple licences like op described
I think this quote sums up Django very well. I would guess that a large chunk of externally facing and internally facing web apps use django (e.g., apps at Mozilla [0]). Anyone have a link to numbers? It would be neat to quantify the prevalence of frameworks on the net. Someone must have done this already.
[0]: https://www.djangoproject.com/weblog/2015/dec/11/django-awar...
and for comparison:
2.2k rails http://stackshare.io/rails 2.34k node.js http://stackshare.io/nodejs
also rails has a much bigger adoption in ruby community and node in javascript community than django in the python community (I would guess).
lots of people using flask, tornado or other frameworks now a days
http://blog.lisnr.com/2015/05/11/pycon-2015-are-we-still-cha...
Users also answer questions or contribute otherwise. And you can completely discard and ignore their questions if you wish and it still doesn't stop the software from working. You can even put out an Open Source project somewhere anonymously and provide no contact information.
Support for users has costs as there are more users. I happen to volunteer my time supporting users because I think it leads to better long-term success for the project. But regardless, each user has capacity to not ask for any support or to ask for it. I'm sure there are some Django users who never ask for support. If someone comes along and uses Django and has no questions, it is totally unlike someone coming along and eating all the coconut.
https://www.kickstarter.com/projects/tomchristie/django-rest...
Still fighting the internal battle that I know I like better compile time checking (ala Scala), but having changes happen so fast in dev is pretty freakin nice...
By default, it uses historical behavior.
https://docs.djangoproject.com/en/1.9/ref/databases/#persist...
I did not mess with memcached, just django + gunicorn + nginx... was pretty nice performance for simple webappy stuff.
Supporting developers or community members of an OSS project your company uses through employee time or financial means is less of an investment, and more of a hedge. You've picked up a product off the shelf, however that product has a future direction decided by a number of people in a community.
A company that chooses not (through inaction or action) to participate in the project is relying on the existing powers-that be, and their existing influences, to make decisions that will benefit the company. This is a risk.
A company that chooses to participate cannot control a decentralized project, but they can absolutely influence the software and community by choosing what projects to fund, what kind of roles to hire for, what projects to sponsor, and what to publicly talk about. This influence nudges the community in directions beneficial to the company, and ensures the project doesn't head in a different direction.
For example in the last year the Ember.js community has seen an influx of larger companies hiring positions that include OSS time for employees. Large companies sponsoring OSS work is becoming more common. This means the parts of Ember that benefit large company needs (lots of devices, big dev teams) are getting more focus. The transition is exciting and fascinating to observe.
Support OSS projects important to your company, or accept the risk that comes with allowing foundational parts of your business to be managed by others (without your needs in mind).
A great attempt to make CMSes as useable as humanly possible, which can't be said for WordPress, Drupal, and the usual fare.
The alternatives are garbage, but projects like Wagtail (and Jekyll-based CloudCannon) are changing that.
In fact, it's even easier than that, many shared hosters run automatic installers that grab the latest WordPress and unzip it into your shared host website htdocs folder and it's just point, click, bish, bash, bosh...you're good to go.
Fancy selling your home made widgets? Just add WooCommerce which supports the most popular payment gateways (PayPal, Stripe, Braintree, WorldPay etc).
And provided you stick with plugins and themes that are well known, well maintained, play nice with the official WordPress hooks, get security updates, and keep on top of WordPress updates it's reasonably secure.
Sure, WordPress may not be "sexy" but for non-developers you can get a lot of things done in not a lot of time.
I see a lot of underfunded open source projects. The whole internet seems to run on them. OpenSSL was one prominent example. I don't think it is coincidence that they are almost always BSD type licenses.
To me BSD licensing just seems like the starving artist living on the good will of a few wealthy donors. Donors who frequently end up steering the project. Multi-licensing seems like a healthier approach.
Just trying to learn here!
https://github.com/hendrix/hendrix
(Others have pointed to django-channels, for which hendrix may eventually evolve into a backend)