Is it possible for other software to work with data files I generate with this program?If you publish information in a file format that only one program can ever read, you are saying to your intended audience "Unless you use precisely the same software I use, I do not care to communicate with you." This can cause considerable inconvenience, not to mention offense. The technical specifications of many commonly-used file formats are effectively trade secrets, or worse, they may be covered by software patents. This can make it very difficult, or even illegal, for anybody but the originator of that format to write software that can read these files. File formats that are published as open standards can in principle be read by any number of programs from any software author that wishes to support that format. If you choose a format that is an open standard and in reasonably wide use, your audience will be able to read your file with the software they prefer to use, not the software you force them to use. Is it possible for other software to interact with this program while it is running?Often it is desirable to have information that is managed by one program passed to another program. A "mail merge" of information in an address database with a word processing document is a simple example of this. If the interface between the database software and the word processing software is not published as an open standard, the operation may only be possible between applications from the same software vendor. It is also often desirable to extend the functionality of an existing application by writing custom software to work with it. If the original software lacks publicly documented interfaces this may be technically impossible. Depending on local laws, if the interfaces include patented software algorithms, or devices defined as "copy protection mechanisms" this may even be illegal. Proprietary application programming interfaces (APIs) and network protocols may mean that the only way you can get information from one application to another is via a labour-intensive export/import procedure, or even by manually re-entering all your data by hand. Can I use this program, with no restrictions on how I use it?Most people assume that once they have legally acquired a copy of some software, they are free to use it for any purpose. That is not necessarily the case. End User License Agreements (EULAs) may contain any number of legally-enforceable restrictions on the use of a program. One software vendor even memorably (albeit briefly) published an application under a license which contained a clause forbidding the use of that software in criticising that company's products. Many programs, particularly zero-cost (but not free) software, deny you the right to use the software, except for non-commercial use, or for a limited trial period only. In the eyes of the law, violating these license terms is exactly the same as if you violated a software license you paid money for. Can I modify this program to better suit my needs, or hire someone else to modify it?One size doesn't fit all. You might find that a program you use is missing a useful feature that would be trivial to add, or has a fault that the original author does not wish to fix. If the author of a piece of software does not distribute the source code to their program, it is probably technically impossible to perform anything but the most trivial modifications on it. If the program is distributed under a non-free license, such modification is also probably illegal. Can I share this program?Unlike material goods, the duplication and redistribution of software can be easily done at close to zero cost. Copyright law allows the author of a piece of software to withhold from users the legal right to copy and redistribute this software. It does so with the intention of encouraging further software development by granting the developers of software a monopoly on copying and distribution, giving them the ability to charge an unnaturally high price for this service. However this is only one of many ways of funding software development. Free software has no such restrictions on copying and redistribution, and is funded in a number of different ways, from totally unpaid volunteer development, to fund-raising by non-profit foundations, to direct corporate support. If I've modified this program in a way that is useful to other people, can I give or sell copies of my modified version to others?Software licenses that forbid the distribution of derivative works impose a cost on society. If a useful piece of software has to be rewritten from scratch in order to legally create an improved version, the cost involved in rewriting that software is simply waste. Most software is created through a process of gradual evolution. If access to prior work is restricted, the potential for improvements to existing technology is considerably diminished. Furthermore, this restriction artificially raises the barrier to entry to software development. If young programmers do not have the ability to learn from the work of others, they have less chance of developing their own skills to their full potential. Innovation should be encouraged, not punished. Further Reading |
|||
