Skip to content

Commit

Permalink
Update for CONTRIBUTING and README files, and new file SECURITY.md.
Browse files Browse the repository at this point in the history
Change-Id: Ia9a2128e57f57c3999c1ff5f9928115adf8693a4
  • Loading branch information
fjssilva committed Sep 21, 2024
1 parent cc462a6 commit cf2917e
Show file tree
Hide file tree
Showing 4 changed files with 104 additions and 52 deletions.
62 changes: 37 additions & 25 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,62 @@
# Contributing Guidelines

We love getting feedback from our users. Bugs and code contributions are great forms of feedback and we thank you for any bugs you report or code you contribute.
We greatly appreciate feedback from our users, including bug reports and code contributions. Your input helps us improve, and we thank you for any issues you report or code you contribute.

## Reporting Issues

Before reporting a new bug, please [check first](https://bugs.mysql.com/search.php) to see if a similar bug already exists.
Before submitting a new bug report, please [check here](https://bugs.mysql.com/search.php) to see if the issue has already been reported.

Bug reports should be as complete as possible. Please try and include the following:
When reporting a bug, ensure your report is as detailed as possible. Please include the following:

* Complete steps to reproduce the issue.
* Any information about platform and environment that could be specific to the bug.
* Specific version of the product you are using.
* Specific version of the server being used.
* Sample code to help reproduce the issue, if possible.
* Clear, reproducible steps to demonstrate the issue.
* Relevant platform and environment information.
* The specific version of the product in use.
* The version of the MySQL Server in use.
* Sample code that can help reproduce the issue, if applicable.

## Contributing Code

Contributing to MySQL projects is easy. You just need to follow these steps.
We welcome your code contributions. Before submitting code via a GitHub pull request or by filing a bug on [bugs.mysql.com](https://bugs.mysql.com), you will need to sign the Oracle Contributor Agreement (OCA). Instructions for signing the OCA are available on the [OCA Page](https://oca.opensource.oracle.com).

* Make sure you have a user account at [bugs.mysql.com](https://bugs.mysql.com). You will need to reference this user account when you submit your Oracle Contributor Agreement (OCA).
* Sign the Oracle Contributor Agreement. You can find instructions for doing that at the [OCA Page](https://oca.opensource.oracle.com/).
* Develop your pull request. Make sure you are aware of the requirements for the project (e.g. do not require Java 7 if we are supporting Java 8 and higher).
* Validate your pull request by including tests that sufficiently cover the functionality you are adding.
* Verify that the entire test suite passes with your code applied.
* Submit your pull request. While you can submit the pull request via [GitHub](https://github.com/mysql/mysql-connector-j/pulls), you can also submit it directly via [bugs.mysql.com](https://bugs.mysql.com).
**Only pull requests from contributors who have signed the OCA can be accepted.**

Thanks again for your wish to contribute to MySQL. We truly believe in the principles of open source development and appreciate any contributions to our projects.
### Submitting a Contribution

1. Ensure you have a user account at [bugs.mysql.com](https://bugs.mysql.com). You'll need to reference this account when submitting your OCA.
2. Sign the Oracle Contributor Agreement. Instructions are provided on the [OCA Page](https://oca.opensource.oracle.com).
3. Validate your contribution by including tests that adequately cover the functionality you're adding.
4. Ensure the entire test suite passes with your changes applied.
5. Submit your pull request through [GitHub](https://github.com/mysql/mysql-connector-j/pulls/) or upload it to a bug record on [bugs.mysql.com](https://bugs.mysql.com) using the _Contributions_ tab.

### Developing Your Pull Request

1. Create your pull request, following the [project's requirements](https://dev.mysql.com/doc/connector-j/en/connector-j-installing.html).
2. Include sufficient tests to validate the new functionality.
3. Confirm that the entire test suite passes with your changes applied.
4. Submit the pull request via [GitHub](https://github.com/mysql/mysql-connector-j/pulls/) or directly via [bugs.mysql.com](https://bugs.mysql.com).

We deeply value contributions to MySQL and thank you for supporting open-source development.

## Setting Up a Development Environment

You can use your preferred Java IDE to view, edit, and compile the MySQL Connector/J source code. The configuration setup can be adapted from [Installing from Source](https://dev.mysql.com/doc/connector-j/en/connector-j-installing-source.html) with little effort.
You can use your preferred Java IDE to view, edit, and compile the MySQL Connector/J source code. For project configuration, please refer to the instructions in [Installing from Source](https://dev.mysql.com/doc/connector-j/en/connector-j-installing-source.html).

Running the entire test suite or your own test case is also possible by setting a few Ant properties in your IDE preferences setup. Refer to [Testing Connector/J](https://dev.mysql.com/doc/connector-j/en/connector-j-testing.html) for additional details.
To run the full test suite or individual test cases, configure the necessary Ant properties within your IDE preferences. For further details, see [Testing Connector/J](https://dev.mysql.com/doc/connector-j/en/connector-j-testing.html).

## Getting Help

If you need help or just want to get in touch with us, please use the following resources:
If you need assistance or would like to reach out to the community, please use the following resources:

* [MySQL Connector/J, JDBC and Java forum](https://forums.mysql.com/list.php?39).
* [`#connectors` channel in MySQL Community Slack](https://mysqlcommunity.slack.com/messages/connectors). ([Sign-up](https://lefred.be/mysql-community-on-slack/) required if you do not have an Oracle account.)
* [@MySQL on Twitter](https://twitter.com/MySQL).
* [MySQL Connector/J Developer Guide](https://dev.mysql.com/doc/connector-j/en/).
* [MySQL Connector/J X DevAPI Reference](https://dev.mysql.com/doc/dev/connector-j/).
* [MySQL Connector/J, JDBC and Java Forum](https://forums.mysql.com/list.php?39).
* [`#connectors` channel on MySQL Community Slack](https://mysqlcommunity.slack.com/messages/connectors/) ([Sign-up](https://lefred.be/mysql-community-on-slack/) required if you do not have an Oracle account.)
* [@MySQL on X](https://x.com/MySQL/).
* [MySQL Blog](https://blogs.oracle.com/mysql/).
* [MySQL Connectors Blog archive](https://dev.mysql.com/blog-archive/?cat=Connectors%20%2F%20Languages).
* [MySQL Newsletter](https://www.mysql.com/news-and-events/newsletter/).
* [MySQL Bugs Database](https://bugs.mysql.com/).
* [MySQL Bugs Tracking System](https://bugs.mysql.com).

We hope to hear from you soon. Enjoy your coding!
We look forward to hearing from you and encourage you to get involved. Happy coding!

[![Twitter Follow](https://img.shields.io/twitter/follow/MySQL.svg?label=Follow%20%40MySQL&style=social)](https://twitter.com/intent/follow?screen_name=MySQL)
[![X (formerly Twitter) Follow](https://img.shields.io/twitter/follow/MySQL?style=social)](https://x.com/intent/follow?screen_name=MySQL)
38 changes: 22 additions & 16 deletions README
Original file line number Diff line number Diff line change
@@ -1,33 +1,39 @@
Copyright (c) 2000, 2024, Oracle and/or its affiliates.

This is a release of MySQL Connector/J, a JDBC Type 4 driver for MySQL that
also supports the new X DevAPI.
This is a release of MySQL Connector/J, a JDBC Type 4 driver for MySQL that also
supports the new X DevAPI.

License information can be found in the LICENSE file.

This distribution may include materials developed by third parties.
For license and attribution notices for these materials, please refer to the
LICENSE file.
License information can be found in the LICENSE file. This distribution may
include materials developed by third parties. For license and attribution
notices for these materials, please refer to the LICENSE file.

For more information on MySQL Connector/J, visit
https://dev.mysql.com/doc/connector-j/en/
https://dev.mysql.com/doc/connector-j/en/.

For additional downloads and the source of MySQL Connector/J, visit
https://dev.mysql.com/downloads/
For additional downloads and the source of MySQL Connector/J,
visit https://dev.mysql.com/downloads/.

MySQL Connector/J is brought to you by the MySQL team at Oracle.

Notice:
- In order to use the logging capabilities provided by the default
implementation com.mysql.cj.log.Slf4JLogger, it is required to add one or
more jars for Simple Logging Facade for Java (SLF4J) to your CLASSPATH.
implementation com.mysql.cj.log.Slf4JLogger, it is required to add one or more
jars for Simple Logging Facade for Java (SLF4J) to your CLASSPATH.
- To use the X DevAPI features in Connector/J, you also need the external
library protobuf-java, which you can download manually from the official
Maven repository and add it to the CLASSPATH, or use Maven's automatic
dependency resolution features by adding a dependency to "GroupId: com.mysql"
and "ArtifactId: mysql-connector-j" to your project's pom.xml file.
library protobuf-java, which you can download manually from the official Maven
repository and add it to the CLASSPATH, or use Maven's automatic dependency
resolution features by adding a dependency to "GroupId: com.mysql" and
"ArtifactId: mysql-connector-j" to your project's pom.xml file.
- To use OCI AIM authentication, you will need to add the external library
oci-java-sdk-common, which you can download manually from the official Maven
repository and add it to the CLASSPATH, or use Maven's automatic dependency
resolution features by adding a dependency to "GroupId: com.oracle.oci.sdk"
and "ArtifactId: oci-java-sdk-common" to your project's pom.xml file.
- In order to enable OpenTelemtry native instrumentation, it is required to use
the OpenTelemetry libraries opentelemetry-api and opentelemetry-context, and
an OpenTelemetry implementation, typically the library opentelemetry-sdk or
the Java agent opentelemetry-javaagent, which you can download manually from
the official Maven repository and add it to the CLASSPATH, or use Maven's
automatic dependency resolution features, by adding a dependency to
"GroupId: io.opentelemetry" and the corresponding artifacts to your project's
pom.xml file.
27 changes: 16 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# MySQL Connector/J

[![GitHub top language](https://img.shields.io/github/languages/top/mysql/mysql-connector-j?label=Java&color=5382a1)](https://github.com/mysql/mysql-connector-j/tree/release/9.x/src) [![License: GPLv2 with FOSS exception](https://img.shields.io/badge/License-GPLv2_with_FOSS_exception-c30014.svg)](LICENSE) [![Maven Central](https://img.shields.io/maven-central/v/com.mysql/mysql-connector-j?label=Maven%20Central)](https://central.sonatype.com/search?q=g%3Acom.mysql+a%3Amysql-connector-j)
[![GitHub top language](https://img.shields.io/github/languages/top/mysql/mysql-connector-j?label=Java&color=5382a1)](https://github.com/mysql/mysql-connector-j/tree/release/9.x/src/) [![License: GPLv2 with FOSS exception](https://img.shields.io/badge/License-GPLv2_with_FOSS_exception-c30014)](LICENSE) [![Maven Central Version](https://img.shields.io/maven-central/v/com.mysql/mysql-connector-j?label=Maven%20Central)](https://central.sonatype.com/search?q=g%3Acom.mysql+a%3Amysql-connector-j)

MySQL provides connectivity for client applications developed in the Java programming language with MySQL Connector/J, a driver that implements the [Java Database Connectivity (JDBC) API](https://www.oracle.com/technetwork/java/javase/jdbc/) and also [MySQL X DevAPI](https://dev.mysql.com/doc/x-devapi-userguide/en/).
MySQL provides connectivity for client applications developed in the Java programming language with MySQL Connector/J, a driver that implements the [Java Database Connectivity (JDBC) API](https://www.oracle.com/java/technologies/javase/javase-tech-database.html) and also [MySQL X DevAPI](https://dev.mysql.com/doc/x-devapi-userguide/en/).

MySQL Connector/J 9.1 is a JDBC Type 4 driver that is compatible with the [JDBC 4.2](https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/) specification. The Type 4 designation means that the driver is a pure Java implementation of the MySQL protocol and does not rely on the MySQL client libraries.

Expand All @@ -14,6 +14,10 @@ For more information, please visit the official [MySQL Connector/J documentation

Please refer to the [README](README) and [LICENSE](LICENSE) files, available in this repository, and the [Legal Notices in the MySQL Connector/J documentation](https://dev.mysql.com/doc/connector-j/en/preface.html) for further details.

## Security

Oracle values the independent security research community and believes that responsible disclosure of security vulnerabilities helps us ensure the security and privacy of all our users. Please refer to the [security guidelines](SECURITY.md) document for additional information.

## Getting the Latest Release

MySQL Connector/J is free for usage under the terms of the specified licensing and it runs on any operating system that is able to run a Java Virtual Machine.
Expand All @@ -23,9 +27,10 @@ MySQL Connector/J is free for usage under the terms of the specified licensing a
MySQL Connector/J can be installed from pre-compiled packages that can be downloaded from the [MySQL Connector/J download page](https://dev.mysql.com/downloads/connector/j/). Installing MySQL Connector/J only requires obtaining the corresponding JAR file from the downloaded bundle or installer and including it in the application's CLASSPATH.

According to how you use MySQL Connector/J, you may also need to install the following third-party libraries on your system for it to work:
* Protocol Buffers (protobuf-java) is required for using X DevAPI
* Oracle Cloud Infrastructure SDK for Java (oci-java-sdk) is required to support OCI AIM authentication
* Simple Logging Facade API (slf4j-api) is required for using the logging capabilities provided by the default implementation of org.slf4j.Logger.Slf4JLogger by MySQL Connector/J
* Protocol Buffers (protobuf-java) is required for using X DevAPI.
* Oracle Cloud Infrastructure SDK for Java (oci-java-sdk) is required to support OCI AIM authentication.
* Simple Logging Facade API (slf4j-api) is required for using the logging capabilities provided by the default implementation of org.slf4j.Logger.Slf4JLogger by MySQL Connector/J.
* OpenTelemetry API and SDK are required for enabling OpenTelemetry native instrumentation.

### As a Maven Dependency

Expand Down Expand Up @@ -65,20 +70,20 @@ This repository contains the MySQL Connector/J source code as per the latest rel

## Contributing

There are a few ways to contribute to the MySQL Connector/J code. Please refer to the [contributing guidelines](CONTRIBUTING.md) for additional information.
We greatly appreciate feedback from our users, including bug reports and code contributions. Your input helps us improve, and we thank you for any issues you report or code you contribute. Please refer to the [contributing guidelines](CONTRIBUTING.md) document for additional information.

## Additional Resources

* [MySQL Connector/J Developer Guide](https://dev.mysql.com/doc/connector-j/en/).
* [MySQL Connector/J X DevAPI Reference](https://dev.mysql.com/doc/dev/connector-j/).
* [MySQL Connector/J, JDBC and Java forum](https://forums.mysql.com/list.php?39).
* [`#connectors` channel in MySQL Community Slack](https://mysqlcommunity.slack.com/messages/connectors). ([Sign-up](https://lefred.be/mysql-community-on-slack/) required if you do not have an Oracle account.)
* [@MySQL on Twitter](https://twitter.com/MySQL).
* [MySQL Connector/J, JDBC and Java Forum](https://forums.mysql.com/list.php?39).
* [`#connectors` channel in MySQL Community Slack](https://mysqlcommunity.slack.com/messages/connectors) ([Sign-up](https://lefred.be/mysql-community-on-slack/) required if you do not have an Oracle account.)
* [@MySQL on X](https://x.com/MySQL/).
* [MySQL Blog](https://blogs.oracle.com/mysql/).
* [MySQL Connectors Blog archive](https://dev.mysql.com/blog-archive/?cat=Connectors%20%2F%20Languages).
* [MySQL Newsletter](https://www.mysql.com/news-and-events/newsletter/).
* [MySQL Bugs Database](https://bugs.mysql.com/).
* [MySQL Bugs Tracking System](https://bugs.mysql.com).

For more information about this and other MySQL products, please visit [MySQL Contact & Questions](https://www.mysql.com/about/contact/).

[![Twitter Follow](https://img.shields.io/twitter/follow/MySQL.svg?label=Follow%20%40MySQL&style=social)](https://twitter.com/intent/follow?screen_name=MySQL)
[![X (formerly Twitter) Follow](https://img.shields.io/twitter/follow/MySQL.svg?label=Follow%20%40MySQL&style=social)](https://x.com/intent/follow?screen_name=MySQL)
29 changes: 29 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Reporting security vulnerabilities

Oracle values the independent security research community and believes that
responsible disclosure of security vulnerabilities helps us ensure the security
and privacy of all our users.

Please do NOT raise a GitHub Issue to report a security vulnerability. If you
believe you have found a security vulnerability, please submit a report to
[email protected] preferably with a proof of concept. Please review some
additional information [on how to report security vulnerabilities to Oracle](https://www.oracle.com/corporate/security-practices/assurance/vulnerability/reporting.html).
We encourage people who contact Oracle Security to use email encryption using
our [encryption key](https://www.oracle.com/security-alerts/encryptionkey.html).

We ask that you do not use other channels or contact the project maintainers
directly.

# Security updates, alerts and bulletins

Security updates will be released on a regular cadence. Many of our projects
will typically release security fixes in conjunction with the Oracle Critical
Patch Update program. Additional information, including past advisories, is
available on our [security alerts page](https://www.oracle.com/security-alerts/).

# Security-related information

We will provide security related information such as a threat model,
considerations for secure use, or any known security issues in our
documentation. Please note that labs and sample code are intended to demonstrate
a concept and may not be sufficiently hardened for production use.

0 comments on commit cf2917e

Please sign in to comment.