Why Open Source is good for your company
Some people ask “Why do we care about open source? It doesn’t generate profit!"
They are right, of course. Open Source software isn't about making profit. But it is about making developers everywhere more efficient and more effective.
Let me ask you a question – how much does it cost to create any piece of software? Is it just the salary for engineers who write it? How about testing? To make it easier and save money we can create unit tests. To automate this you would use Continous Integration (CI) process (as Tivix does). Even though you might have good code coverage, there are bound to be many edge cases that are not covered. In my code I had parts which are commented as “Will never happen” and it happens 1 in 100 cases according to Murphy’s law!
Is there any possibility to make them more accurate? Of course, but you need to spend more money on creating more tests and predicting everything. When this is a high risk application this money is not wasted and can in many cases be justified, but if it is a simple application which is used as part of a bigger Django project? Then you should open-source it!
What do you achieve by doing that? Just look some of the projects which Tivix has open-sourced:, django-cron, django-rest-auth and others. We treat these projects in the same way as commercial software and release them to the open-source community, for anyone to use freely without any charge or restrictions (we use the MIT license, but thats another topic!). In this way we gain new developers, who will test our open-source applications and will then report problems/bugs/issues they encounter.
Because of this, we don’t need to spend more time on additional tests, lots of others are doing it along with us (this is not to say that we shouldn’t have any tests in our app to begin with!). Also every developer is different in some way (have different knowledge/education/age), creating a very diverse environment. Such an environment allows you to create things (bugs or possible usage) which you would never dream about. Different approaches create a lot of new and unique test cases.
Also, reports from an open-source community are mostly more precise than from business users/consumers. At least you will get a stack trace, but additionally you will gain details on how to recreate the problem, and sometimes you will also get a ready to apply a patch or pull request.
Of course we don’t publish everything to open source. We're a for-profit company, and we take IP issues for ourselves and our clients very seriously. However, things that are commonly used in many projects or that are going to be future pain points (since we have a good sense of where the industry/platforms are headed) are things that we want to openly give to the Open Source community – a community upon whose shoulders we stand.