Magic of Open Source
While there are many discussions and arguments in favour of using and contributing to open source projects (ranging from purely technical, like https://simpleprogrammer.com/2016/03/14/why-contribute-to-open-source/, to philosophical ones, like http://www.makeuseof.com/tag/people-contribute-open-source-projects/ ), we at DigiThinkIT believe in magical reasons behind it.
Open Source is all about giving away valuable assets. Someone can take them either in a form of useful software products/tools or experience accumulated by the contributor communities. In order it to be sustainable in long run as well as help the business to generate revenue, you have to always give something back though.
We often see a chance to contribute to an open source project when tackling practical issues for our customers. In such a situation, we typically have a good open-source product or library that can solve 80%+ of customer needs but lacks an essential piece to deliver the right experience.
One of the recent cases of this sort was as follows
- Our customer engaged with us to implement ERP Next – one of the most promising Web-based open-source ERP systems (www.erpnext.com) built with Python and distinct Frappe (www.frappe.io) framework
- They needed to manage international shipments to their customers, using FedEx services and its Web APIs - there is a slick and nice light-weight FedEx API wrapper lib in python (http://python-fedex.readthedocs.io/en/latest/) that is easy to integrate as a third-party library into a custom Frappe App we built for our customer
- That lib did not provide support for international FedEx shipments out of the box
We therefore proceeded with our changes to implement the international shipments support in python-fedex. We are now preparing the pull request to put our changes back to the trunk codebase of python-fedex.
For the same reason, we often take opportunities to improve the open-source products that help us deliver good experience to our customers. With our passion to ERP Next, we have been recently contributing a number of improvements to its core codebase per
- Added Featured Image attribute to blog posts on a Web site managed by Frappe/ERP Next as well as respective Frappe starter theme tweaks to support it in the site UI (https://github.com/frappe/frappe/pull/2886)
- Added capability to import and export content of Web pages between instances of ERP Next, using ERP Next’s Data Import tool (https://github.com/frappe/frappe/pull/2920)
- Fixed the critical bug with visibility of documentation for custom apps installed on a Frappe bench instance to all web sites managed by this instance (regardless the applications enabled on a particular web site or not) (https://github.com/frappe/frappe/pull/2924)
There are more extensive contributions to ERP Next coming as we finalize beta testing of several novelty Frappe applications
- Awesome Cart (a one-page checkout shopping cart for ERP Next – see https://discuss.erpnext.com/t/new-app-for-one-page-shopping-cart-experience/13997 )
- Universal payment gateway with multi-pay options, native support for Authorize.Net and integration of the existing community Paypal gateway
We also like Wordpress community. Sometimes we help to fix bugs in public freeware plug-ins for Wordpress (with the recent case of fixing internationalization and localization issues in rendering business member category views by Chamber Dashboard Business Directory Plug-in https://wordpress.org/plugins/chamber-dashboard-business-directory/)
That’s how the open source magic works for us. So we are ready for more exciting magical changes in front of us!
George is a seasoned Data Scientist / Software Developer with young spirit, passion to build innovative IT products, and more then 20 years of blended industrial experience in software development, IT, business processes & operations, project management/people management, and C-level role playing. He is CTO at DigithinkIT, Inc. At his spare time, he enjoys learning foreign languages, traveling, and playing chess. George volunteers to manage one of the national amateur chess teams at chess.com that competes in the top division of World Chess League.