If you use third party software inside your own programs, and it is liscensed (which it most likely will be if it is available to the general public) the requirements for use will be different from one app to another. For example most proprietary software will not require you to do much of anything, providing that you paid for that license beforehand.
Opensource licenses are different. There are a few different types of license available. Different versions may have different requirements from users. Three things, however will always be required. First of all, you need to have a copy of the license. Just like a driver's license is proof that you are allowed to drive, a software user license proves that you are allowed to use that software.
The first of these requirements sort of implies the second. That is, you are required to hold up anything you agree to on that license. This is where the "mention the author in your work thing comes in." Note that this requirement isnt technically a requirement of open source licensing. It isnt written somewhere in the ten commandments of opensource (or in any law) that you must do anything printed on a license to use the app. However, remember, having a valid license is required by law. Therefore, Developers only need to state "this license is only valid if these demands are met." It isn't that much different than proprietary. Paid purchase is more or less just another demand prerequisite to license validation.
Now the third rule (requirement) is not only important, it is the very heart of open-source. It states that you must include the open-source. Believe it or not, this is where open-source gets it's name! (and water is indeed wet.)
This just means that, no matter how you decide to distribute your application, be it via package manager or on CD-ROM via snail mail (this methodI don't recommend XD), the source code has to be somehow publicly available. If you distribute a java app as a jar. You need to include either a copy of the source code. Note that this rule is required, explicitly by the original developers of the open-source apps that you are using. However, since you are now using that code, and since it is still open-source, the requirement falls on you as well. Just ask android.
There are a few other requirements, laid out by the Open-Source Initiative, but at the end of the day, they are just a standards group. When I refer to open-source, I am speaking of the free and often community-built, but licensed software.