I think this comment by patio11 is very relevant here:
"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."
>> I think this comment by patio11 is very relevant here:
> "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.
> >> I think this comment by patio11 is very relevant here:
> > "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.
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.
I think zhte415 is just saying there are some things to watch out for, not that they are disagreeing.
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.
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.
I don't see a really good point in the children of this sub-thread to post this, so I'll just go here and hope it gets attention.
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).
Probably but I'm not saying "its impossible" but rather "You need a CPA and tax attorney to cover your ass appropriately" at which point is there enough people like Patio11 to cover that cost?
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.
From the second link you posted, why couldn't selling a license be considered "selling donated merchandise" (the code is the merchandise) and therefore exempt from being taxed as unrelated business income?
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.
> From the second link you posted, why couldn't selling a license be considered "selling donated merchandise" (the code is the merchandise) and therefore exempt from being taxed as unrelated business income?
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.
> 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.
> 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.
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.
Selling a "license" generally denotes a for-profit activity anyway. I tend to avoid the thought of taking "donations" because they are a tax headache for anyone and everyone involved (many people incorrectly assume that any donation is tax-deductible, and I still have to pay income tax on them as I am most certainly not a charitable entity)
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-profits can engage in for-profit activities. They just need to use the profits to achieve their goal. Otherwise no non-profit could be organizing a conference since selling tickets is a for-profit activity.
> 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."
except for trivial cases you can't sell tickets at cost - there are way too many factors at play and you need some extra budget in case things go haywire (and they will). You want to plan your budget so that the conference is slightly profitable. BTW: Accepting sponsoring is a for profit activity as well - you get money and perform a service in return (advertise the sponsor etc.)
Legally not allowed? You can donate to anybody you please I would think.
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.
I think what he is saying is that it's easy for him to buy a commercial licence for Open Source software (even if the licence doesn't grant him any additional right or service) but donations are legally harder to pay before tax.
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.
> Legally not allowed? You can donate to anybody you please I would think.
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.
Purchasing a license that's identical to one you know is freely available doesn't fit the English language meaning of 'necessary business expense'. Maybe the actual technical definition is a little different, but I don't see what fraud is being prevented by restricting donations if companies can just buy things for far above market value.
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.
Then you can structure the invoice to include an hour of consultation time. In any case, the transaction is a taxable event - it just depends on who pays (your corporation, the recipient, or the US government (if you are paying a nonprofit)).
Oh, corporate rules. Sure. So "its legally difficult if I'm to keep my tax write-off" would be a better statement? Because it could be a personal donation.
The original comment was about donating not contributing, and the whole thread is in the context of corporate donations since that's the subject of TFA.
it's not corporate. Once you're some sort of LLC/GmbH, no money can leave the company without some sort of record who received it and why. That record is conveniently an invoice, but it can also be a receipt for the donation by an established charity etc.
It could be a personal donation. But then tax takes part of it first. Basically, would the OSS project like €1,000 or €500? Because either way the company has to pay €1,000.
There's more explanation at the link, it's largely a tax thing where a donation ends up being more expensive than an invoice. It's also apparently uncomfortable for the donation to come from the company.
Uncomfortable's a good descriptor. I get the impression Patio11's involved in mostly "solo" enterprises. If that weren't the case, I'd like to think he'd run these "discretionary expenses" by his partners.
>Legally not allowed? You can donate to anybody you please I would think.
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.
Its just that (almost) nobody pays for open software. Its the tragedy of the commons or some such. Being the only guy to do so, hardly begins to help insure the product will be around in a year.
Do they actually provide support? Like an email address where you can get questions answered? That's a lot different than just stapling an invoice to the free license that everyone gets.
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
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.
> 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.
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.
this makes it lose the commonly agreed upon properties of "Open Source/Free Software", and even if you could get all the major contributors to agree to a license change, the insuing dramastorm would almost certainly lead to a fork.
(this was very similar to the cause of the xfree86 -> xorg fork)
Why? Sure, patio11 himself benefits from the software, indirectly, when he pays himself salary. And the software he uses, in part, helps ensure that salary. However, the company "needs" the software more. If the project shuttered tomorrow, that would be an existential threat to Appointment Reminder (patio11's business) but wouldn't be such a threat to Patrick.
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.
>> "...a solid, stable, secure and powerful web application framework..."
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.
After PyCon last year I asked myself a similar question, except I was more interested in language traction than frameworks; still you may find some of the links interesting.
Thanks for the data. I guess rails and node are "hotter," but I'm still not convinced because it appears that stackshare relies on self report (which we all know is pretty fallible). Further, selection bias could be at play in these data. For example, individuals more likely to report their stack on stackshare might be the same individuals more likely to use rails or node. Still, at least we've got some numbers.
It's like chipping in $10 for a bag of artisinal coconut chips on Kiskstarter, but instead of getting a bag chips you get a mature web framework. And maybe artisinal coconut chips.. I don't know, I've never been to DjangoCon.
Obligatory mention of how Tom Christie successfully funded the latest version of Django Rest Framework from a Kickstarter campaign. While my donation was modest, I participated because I use it regularly, and KS made it easy to give.
I think donating by way of kickstarter is fine, but it attracts the same people that regular donations attract. Developers themselves, rather than the companies that are profiting from the use of free software. That's really the gap that needs to be filled.
"like" in that $10 is $10. Otherwise, totally unlike in every way. Django is a public good (non-exclusive, non-rivalrous, everyone can share), coconut chips are private goods (exclusive, consumed). Nobody adds expenses to Django by becoming a user. But somehow the costs that are stable regardless still need to get covered.
If you've ever run an Open-Source project then you know that users do often increase the costs. They tend to ask questions which they expect to be answered for free even if it costs you time and time is money.
I do run Open Source projects. I do not buy the argument that more users inherently increase costs.
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.
Kind of unrelated to the topic.. but I recently checked out Django for the first time ever recently (I know, 5 years late) - and was impressed. It has a lot of the things I like in web development with mostly sane defaults (most insane thing found so far: Closing database connection after each request, really?). Edit - Yes I know you can change config to keep connection open, but as a default for prod mode it seemed rather weird ;)
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...
I'm not sure if this is in fact what you're saying, but the closing the database connection each time is only the default (historical reasons), changing it is a matter of changing one setting: https://docs.djangoproject.com/en/1.9/ref/databases/#connect...
Just for reference, Django has had support for persistent connections for quite a while now. It's disabled by default due to backwards compatibility considerations.
Oh I know, I was talking about sane "defaults".. i.e. if you don't touch the config, the default seems silly. Makes sense to close it in dev, but in default prod? Not sane.
I figured you were aware of the feature itself. I just wanted to clarify for people unfamiliar with Django that it does support persistent connections, even if they are disabled by default :)
It's amazing what the Django Software Foundation was able to accomplish with the recent fundraising. It has greatly increased the project's reliability and stability. Let's keep it up. :)
I've been pondering corporate roles in modern OSS projects for a few months, especially those in projects that have no single owner.
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).
I wish the OP had used less sweeping terminology – WordPress is definitely easy to install but keeping it running, customizing it, and staying secure are all areas where reasonable people can have different opinions. It'd be nice if people didn't slag off other projects but instead mentioned what they'd found better/worse about the one they're recommending.
Coupled with the fact that anyone who can use an FTP client can just throw up a copy of WordPress onto a shared hoster and get going....PHP+MySQL is ubiquitous in this market.
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 can't help but wonder if Django wouldn't do better with a multi-licensing strategy like MongoDB uses. Asking for donations typically doesn't work out so well.
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.
You're right, and the Django Software Foundation (along with projects like BeeWare) are actively trying to work out how to solve these problems. DSF has hired a part time "director of advancement", Adrienne Lowe, to try to get money back into Django. https://www.djangoproject.com/weblog/2015/nov/23/introducing...
I dont see the point, Rails already solves the problems that Dj-ango is trying to solve again. Rails/ruby combo already solves the problem in a very elegant way. There is no need for another half baked solution that tries to solve the same problem.
Django's been around for a pretty long time. Projects like Django and Rails need each other. If there were just one dominant web application framework, it would stagnate.
Food for thought - As a prospective employee, I'd more likely want to work at a company whose name I saw on the corporate sponsors page (of Django, or whatever framework they use).
Django Channels, which is slated for inclusion in one of the next Django releases, covers at least some of the use cases you'd traditionally use Celery for, specifically running code after returning a response. It does require Redis for this though.
If "something like celery built in" means a tool that runs Django as a network service in a concurrent context, with APIs to allow asynchronous processing of tasks, you might want hendrix, which serves Django on Twisted:
Isn't celery plug and play nowadays? If you need a something simpler take a look at django-rq. I don't think a serious job queue is possbile with RDBMS as backend.
One reason: Most RDBMS's aren't designed for "waiting for newly queued items". You literally have to have each worker poll at some time interval for new items: `SELECT * FROM jobs WHERE status = 'new'`, transactionally claim the job, and if a worker dies, un-claim it. It's not that it's not possible to use an RDBMS and work around these problems, but generally, it won't lead to the most scalable and robust solution for the problem. Message brokers / AMQP are better designed for this problem set. If you have a small site, with a low volume queue, your RDBMS might be just fine though.
Yeah, or any documentation that explains the fundamental differences. I get that it's required and I can see the advantages for large scale operations but I never understood why you can run a simpel DB backend for small scale setup.
You can use relation database but sane implementation is ugly and doesn't scale. There is little reason to choose bunch complexity and unpredictable behavior over dedicated queue dependency. Sorry, i don't have any good material on the topic. Maybe you can use this to see how RDBMS implementation looks and what are the consequences. https://brandur.org/postgres-queues
"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."
(https://news.ycombinator.com/item?id=10863939)