To quote Wikipedia on forking:
In software engineering, a project fork happens when developers take a copy of source code from one software package and start independent development on it, creating a distinct piece of software. Free or open source software is inherently prone to forking.
So basically there is no conceptual problem with forking an application. But what about legal? To quote part of a common open source license:
2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
Note the term "derivative works". ANYONE can take an open source project and alter it to their heart's content. If they plan to distribute it, they need to document their changes, but other than that, there is literally no law against the forking or modification of any open source project. The only question is: Should you?
In most cases, the answer is no. If you fork a project then it'll be hard to update your code with changes made to the original. It may even cause breakage of the original code. The only time you should fork code is when you know what you're doing and have a good reason to do it. Note again what I just said. Only fork code if you really need to and know what you're doing. If you fulfill those two conditions, then fork away. It doesn't matter if it's a modification to a small UDF or to a whole framework. As long as you're willing to take the risks and the consequences, let nothing stand in your way.
In other words, fork in knowledge, fork in safety, but let no one stand in the way of you forking.
As a final note, anyone who has added a custom layout or pod to BlogCFC has, in essence, created a personal (and minor) fork of that software.