My Experience with Open-Source
A detailed definition of “open-source software” is available at https://opensource.org/osd, version 1.9, last modified on 2007-03-22
Background
Having benefited greatly from open-source software and being one of the open-source community, I hold a deep appreciation and love for it.
I view writing software as a creative endeavor, free from physical limits and material costs. Especially when there are no external milestones or deadlines, I can experiment with different implementations and architectures to achieve better performance, rather than rushing to meet a release date.
Open-source as Economically-Free
According to the definition of “open-source software,” it does not require royalties or other fees. However, I want to emphasize that while you may not pay monetarily, developing and maintaining open-source software still requires significant effort.
Some support comes from non-profit foundations, some from research funding, and some from the passion of developers. I believe nothing is truly “free” nowadays, much like how we pay for better daylighting even though no one owns the sunshine. Respect to the contributors’ time and efforts, and contribute back when you are ready.
Open-source as Bug-Free
There is no guarantee that any software is free of bugs. Whether software works as intended is often a matter of empirical judgment. The more the software is used, the more confidence we have in its results. The advantage of open-source software is that when it produces unexpected results, you have the option to inspect every detail, rather than passively waiting for customer support.
There are some open source tools by the power systems community. Among them, MATPOWER is definitely a pioneer that lasts for more than 30 years. MATPOWER is so successful that when a project involves power flow and optimal power flow, the question often arises: “do your results match MATPOWER results?” It is so widely and extensively used that we don’t need to worry about its validity. However, for other younger projects, it is important be inclusive and patient for unexpected results.
Open-source for Research
Open-source software often provides unique advantages over commercial alternatives, especially in research. When developing a new algorithm or method, you may need to modify the software to suit your specific needs. Open-source software allows for this flexibility, enabling you to adapt and customize the code as required. In contrast, many domain-specific commercial software solutions do not prioritize such flexibility, limiting your ability to make necessary adjustments.
Enjoy Reading This Article?
Here are some more articles you might like to read next: