The Oracle Berkeley DB Java edition source is here: https://www.oracle.com/database/technologies/related/berkeleydb-downloads.html
One can check in the source that it's under Apache 2.0 license.
On the other hand, Oracle states here that:
The our open source license permits you to use Berkeley DB, Berkeley DB Java Edition or Berkeley DB XML at no charge under the condition that if you use the software in an application you redistribute, the complete source code for your application must be available and freely redistributable under reasonable conditions. If you do not want to release the source code for your application, you may purchase a license from Oracle. For pricing information, or if you have further questions on licensing, please contact us at [email protected].
However, it's my understanding that code under Apache 2.0 license can be reused in commercial products for free. How is it possible then to require a commercial license for such use?
And if Oracle can require that, does it mean that it affects also code based on Berkeley DB JE, that one releases? How does that make sense?