This is where the benefit of open-source has become apparent. Because the library I am utilizing is permissively open sourced, I am able to copy it into my org without worrying about copyright infringement. Even better, when I find a small bug in the open source library I am using, I am able to make the fix myself, without interrupting my workflow. This happened to me when using the Force.com REST Toolkit. I found a problem with the ‘apexrest’ method. While this method allows the user to set the HTTP request body, it doesn’t provide a means for setting custom headers, which is a key function of REST. It was a pretty simple bug to fix, so I quickly fixed it in my local copy of the library. To help others avoid hitting the same silly problem, I decided to contribute this fix back to the original project by submitting a pull request to the project maintainer, who was quick to respond.
Now consider the other case, in which the library is proprietary. In a case like this, developers would potentially have no visibility into the code behind the API, forcing them to submit a bug report to the project maintainers, who likely have other priorities and would not be able to investigate for several hours. I would then have to wait for them to release the updated version of the library. This workflow has a significant amount of downtime compared to that of an open source library.
While it may not be the best choice to use a community open source library or platform for every project, the benefits of using one can be quite great.