diff --git a/rfcs/0000_template.md b/legacy_rfcs/0000_template.md similarity index 100% rename from rfcs/0000_template.md rename to legacy_rfcs/0000_template.md diff --git a/legacy_rfcs/README.md b/legacy_rfcs/README.md new file mode 100644 index 0000000000000..f9f9502ad954b --- /dev/null +++ b/legacy_rfcs/README.md @@ -0,0 +1,3 @@ +# Kibana RFCs + +We no longer follow this RFC process. Internal developers should review the new RFC process in our [internal developer guide](https://docs.elastic.dev/kibana-team/rfc-process) diff --git a/rfcs/images/0018_agent_manager.png b/legacy_rfcs/images/0018_agent_manager.png similarity index 100% rename from rfcs/images/0018_agent_manager.png rename to legacy_rfcs/images/0018_agent_manager.png diff --git a/rfcs/images/0018_buildkite_build.png b/legacy_rfcs/images/0018_buildkite_build.png similarity index 100% rename from rfcs/images/0018_buildkite_build.png rename to legacy_rfcs/images/0018_buildkite_build.png diff --git a/rfcs/images/0018_buildkite_deps.png b/legacy_rfcs/images/0018_buildkite_deps.png similarity index 100% rename from rfcs/images/0018_buildkite_deps.png rename to legacy_rfcs/images/0018_buildkite_deps.png diff --git a/rfcs/images/0018_buildkite_uptime.png b/legacy_rfcs/images/0018_buildkite_uptime.png similarity index 100% rename from rfcs/images/0018_buildkite_uptime.png rename to legacy_rfcs/images/0018_buildkite_uptime.png diff --git a/rfcs/images/0018_jenkins_pipeline_steps.png b/legacy_rfcs/images/0018_jenkins_pipeline_steps.png similarity index 100% rename from rfcs/images/0018_jenkins_pipeline_steps.png rename to legacy_rfcs/images/0018_jenkins_pipeline_steps.png diff --git a/rfcs/images/0019_lifecycle_preboot.png b/legacy_rfcs/images/0019_lifecycle_preboot.png similarity index 100% rename from rfcs/images/0019_lifecycle_preboot.png rename to legacy_rfcs/images/0019_lifecycle_preboot.png diff --git a/rfcs/images/20_clustering/cluster_mode.png b/legacy_rfcs/images/20_clustering/cluster_mode.png similarity index 100% rename from rfcs/images/20_clustering/cluster_mode.png rename to legacy_rfcs/images/20_clustering/cluster_mode.png diff --git a/rfcs/images/20_clustering/no_cluster_mode.png b/legacy_rfcs/images/20_clustering/no_cluster_mode.png similarity index 100% rename from rfcs/images/20_clustering/no_cluster_mode.png rename to legacy_rfcs/images/20_clustering/no_cluster_mode.png diff --git a/rfcs/images/20_clustering/perf_4_workers.png b/legacy_rfcs/images/20_clustering/perf_4_workers.png similarity index 100% rename from rfcs/images/20_clustering/perf_4_workers.png rename to legacy_rfcs/images/20_clustering/perf_4_workers.png diff --git a/rfcs/images/20_clustering/perf_clustering_2_worker.png b/legacy_rfcs/images/20_clustering/perf_clustering_2_worker.png similarity index 100% rename from rfcs/images/20_clustering/perf_clustering_2_worker.png rename to legacy_rfcs/images/20_clustering/perf_clustering_2_worker.png diff --git a/rfcs/images/20_clustering/perf_no_clustering.png b/legacy_rfcs/images/20_clustering/perf_no_clustering.png similarity index 100% rename from rfcs/images/20_clustering/perf_no_clustering.png rename to legacy_rfcs/images/20_clustering/perf_no_clustering.png diff --git a/rfcs/images/api_doc_pick.png b/legacy_rfcs/images/api_doc_pick.png similarity index 100% rename from rfcs/images/api_doc_pick.png rename to legacy_rfcs/images/api_doc_pick.png diff --git a/rfcs/images/api_doc_tech.png b/legacy_rfcs/images/api_doc_tech.png similarity index 100% rename from rfcs/images/api_doc_tech.png rename to legacy_rfcs/images/api_doc_tech.png diff --git a/rfcs/images/api_doc_tech_compare.png b/legacy_rfcs/images/api_doc_tech_compare.png similarity index 100% rename from rfcs/images/api_doc_tech_compare.png rename to legacy_rfcs/images/api_doc_tech_compare.png diff --git a/rfcs/images/api_docs.png b/legacy_rfcs/images/api_docs.png similarity index 100% rename from rfcs/images/api_docs.png rename to legacy_rfcs/images/api_docs.png diff --git a/rfcs/images/api_docs_package_current.png b/legacy_rfcs/images/api_docs_package_current.png similarity index 100% rename from rfcs/images/api_docs_package_current.png rename to legacy_rfcs/images/api_docs_package_current.png diff --git a/rfcs/images/api_info.png b/legacy_rfcs/images/api_info.png similarity index 100% rename from rfcs/images/api_info.png rename to legacy_rfcs/images/api_info.png diff --git a/rfcs/images/current_api_doc_links.png b/legacy_rfcs/images/current_api_doc_links.png similarity index 100% rename from rfcs/images/current_api_doc_links.png rename to legacy_rfcs/images/current_api_doc_links.png diff --git a/rfcs/images/new_api_docs_with_links.png b/legacy_rfcs/images/new_api_docs_with_links.png similarity index 100% rename from rfcs/images/new_api_docs_with_links.png rename to legacy_rfcs/images/new_api_docs_with_links.png diff --git a/rfcs/images/ols_phase_1_auth.png b/legacy_rfcs/images/ols_phase_1_auth.png similarity index 100% rename from rfcs/images/ols_phase_1_auth.png rename to legacy_rfcs/images/ols_phase_1_auth.png diff --git a/rfcs/images/pulse_diagram.png b/legacy_rfcs/images/pulse_diagram.png similarity index 100% rename from rfcs/images/pulse_diagram.png rename to legacy_rfcs/images/pulse_diagram.png diff --git a/rfcs/images/repeat_primitive_signature.png b/legacy_rfcs/images/repeat_primitive_signature.png similarity index 100% rename from rfcs/images/repeat_primitive_signature.png rename to legacy_rfcs/images/repeat_primitive_signature.png diff --git a/rfcs/images/repeat_type_links.png b/legacy_rfcs/images/repeat_type_links.png similarity index 100% rename from rfcs/images/repeat_type_links.png rename to legacy_rfcs/images/repeat_type_links.png diff --git a/rfcs/images/search_sessions_client.png b/legacy_rfcs/images/search_sessions_client.png similarity index 100% rename from rfcs/images/search_sessions_client.png rename to legacy_rfcs/images/search_sessions_client.png diff --git a/rfcs/images/search_sessions_server.png b/legacy_rfcs/images/search_sessions_server.png similarity index 100% rename from rfcs/images/search_sessions_server.png rename to legacy_rfcs/images/search_sessions_server.png diff --git a/rfcs/images/timeslider/toolbar.png b/legacy_rfcs/images/timeslider/toolbar.png similarity index 100% rename from rfcs/images/timeslider/toolbar.png rename to legacy_rfcs/images/timeslider/toolbar.png diff --git a/rfcs/images/timeslider/v1.png b/legacy_rfcs/images/timeslider/v1.png similarity index 100% rename from rfcs/images/timeslider/v1.png rename to legacy_rfcs/images/timeslider/v1.png diff --git a/rfcs/images/timeslider/v2.png b/legacy_rfcs/images/timeslider/v2.png similarity index 100% rename from rfcs/images/timeslider/v2.png rename to legacy_rfcs/images/timeslider/v2.png diff --git a/rfcs/images/url_service/new_architecture.png b/legacy_rfcs/images/url_service/new_architecture.png similarity index 100% rename from rfcs/images/url_service/new_architecture.png rename to legacy_rfcs/images/url_service/new_architecture.png diff --git a/rfcs/images/url_service/old_architecture.png b/legacy_rfcs/images/url_service/old_architecture.png similarity index 100% rename from rfcs/images/url_service/old_architecture.png rename to legacy_rfcs/images/url_service/old_architecture.png diff --git a/rfcs/text/.gitkeep b/legacy_rfcs/text/.gitkeep similarity index 100% rename from rfcs/text/.gitkeep rename to legacy_rfcs/text/.gitkeep diff --git a/rfcs/text/0001_lifecycle_setup.md b/legacy_rfcs/text/0001_lifecycle_setup.md similarity index 100% rename from rfcs/text/0001_lifecycle_setup.md rename to legacy_rfcs/text/0001_lifecycle_setup.md diff --git a/rfcs/text/0002_encrypted_attributes.md b/legacy_rfcs/text/0002_encrypted_attributes.md similarity index 100% rename from rfcs/text/0002_encrypted_attributes.md rename to legacy_rfcs/text/0002_encrypted_attributes.md diff --git a/rfcs/text/0003_handler_interface.md b/legacy_rfcs/text/0003_handler_interface.md similarity index 100% rename from rfcs/text/0003_handler_interface.md rename to legacy_rfcs/text/0003_handler_interface.md diff --git a/rfcs/text/0004_application_service_mounting.md b/legacy_rfcs/text/0004_application_service_mounting.md similarity index 100% rename from rfcs/text/0004_application_service_mounting.md rename to legacy_rfcs/text/0004_application_service_mounting.md diff --git a/rfcs/text/0005_route_handler.md b/legacy_rfcs/text/0005_route_handler.md similarity index 100% rename from rfcs/text/0005_route_handler.md rename to legacy_rfcs/text/0005_route_handler.md diff --git a/rfcs/text/0006_management_section_service.md b/legacy_rfcs/text/0006_management_section_service.md similarity index 100% rename from rfcs/text/0006_management_section_service.md rename to legacy_rfcs/text/0006_management_section_service.md diff --git a/rfcs/text/0007_lifecycle_unblocked.md b/legacy_rfcs/text/0007_lifecycle_unblocked.md similarity index 100% rename from rfcs/text/0007_lifecycle_unblocked.md rename to legacy_rfcs/text/0007_lifecycle_unblocked.md diff --git a/rfcs/text/0008_pulse.md b/legacy_rfcs/text/0008_pulse.md similarity index 100% rename from rfcs/text/0008_pulse.md rename to legacy_rfcs/text/0008_pulse.md diff --git a/rfcs/text/0009_screenshot_mode_service.md b/legacy_rfcs/text/0009_screenshot_mode_service.md similarity index 100% rename from rfcs/text/0009_screenshot_mode_service.md rename to legacy_rfcs/text/0009_screenshot_mode_service.md diff --git a/rfcs/text/0010_service_status.md b/legacy_rfcs/text/0010_service_status.md similarity index 100% rename from rfcs/text/0010_service_status.md rename to legacy_rfcs/text/0010_service_status.md diff --git a/rfcs/text/0011_global_search.md b/legacy_rfcs/text/0011_global_search.md similarity index 100% rename from rfcs/text/0011_global_search.md rename to legacy_rfcs/text/0011_global_search.md diff --git a/rfcs/text/0011_reporting_as_an_api.md b/legacy_rfcs/text/0011_reporting_as_an_api.md similarity index 100% rename from rfcs/text/0011_reporting_as_an_api.md rename to legacy_rfcs/text/0011_reporting_as_an_api.md diff --git a/rfcs/text/0012_encryption_key_rotation.md b/legacy_rfcs/text/0012_encryption_key_rotation.md similarity index 100% rename from rfcs/text/0012_encryption_key_rotation.md rename to legacy_rfcs/text/0012_encryption_key_rotation.md diff --git a/rfcs/text/0013_saved_object_migrations.md b/legacy_rfcs/text/0013_saved_object_migrations.md similarity index 100% rename from rfcs/text/0013_saved_object_migrations.md rename to legacy_rfcs/text/0013_saved_object_migrations.md diff --git a/rfcs/text/0013_search_sessions.md b/legacy_rfcs/text/0013_search_sessions.md similarity index 100% rename from rfcs/text/0013_search_sessions.md rename to legacy_rfcs/text/0013_search_sessions.md diff --git a/rfcs/text/0014_api_documentation.md b/legacy_rfcs/text/0014_api_documentation.md similarity index 100% rename from rfcs/text/0014_api_documentation.md rename to legacy_rfcs/text/0014_api_documentation.md diff --git a/rfcs/text/0015_bazel.md b/legacy_rfcs/text/0015_bazel.md similarity index 100% rename from rfcs/text/0015_bazel.md rename to legacy_rfcs/text/0015_bazel.md diff --git a/rfcs/text/0016_ols_phase_1.md b/legacy_rfcs/text/0016_ols_phase_1.md similarity index 100% rename from rfcs/text/0016_ols_phase_1.md rename to legacy_rfcs/text/0016_ols_phase_1.md diff --git a/rfcs/text/0017_url_service.md b/legacy_rfcs/text/0017_url_service.md similarity index 100% rename from rfcs/text/0017_url_service.md rename to legacy_rfcs/text/0017_url_service.md diff --git a/rfcs/text/0018_buildkite.md b/legacy_rfcs/text/0018_buildkite.md similarity index 100% rename from rfcs/text/0018_buildkite.md rename to legacy_rfcs/text/0018_buildkite.md diff --git a/rfcs/text/0018_timeslider.md b/legacy_rfcs/text/0018_timeslider.md similarity index 100% rename from rfcs/text/0018_timeslider.md rename to legacy_rfcs/text/0018_timeslider.md diff --git a/rfcs/text/0019_lifecycle_preboot.md b/legacy_rfcs/text/0019_lifecycle_preboot.md similarity index 100% rename from rfcs/text/0019_lifecycle_preboot.md rename to legacy_rfcs/text/0019_lifecycle_preboot.md diff --git a/rfcs/text/0020_nodejs_clustering.md b/legacy_rfcs/text/0020_nodejs_clustering.md similarity index 100% rename from rfcs/text/0020_nodejs_clustering.md rename to legacy_rfcs/text/0020_nodejs_clustering.md diff --git a/rfcs/README.md b/rfcs/README.md deleted file mode 100644 index 5809f2198f925..0000000000000 --- a/rfcs/README.md +++ /dev/null @@ -1,139 +0,0 @@ -# Kibana RFCs - -Many changes, including small to medium features, fixes, and documentation -improvements can be implemented and reviewed via the normal GitHub pull request -workflow. - -Some changes though are "substantial", and we ask that these be put -through a bit of a design process and produce a consensus among the relevant -Kibana team. - -The "RFC" (request for comments) process is intended to provide a -consistent and controlled path for new features to enter the project. - -[Active RFC List](https://github.com/elastic/kibana/pulls?q=is%3Aopen+is%3Apr+label%3ARFC) - -Kibana is still **actively developing** this process, and it will still change as -more features are implemented and the community settles on specific approaches -to feature development. - -## Contributor License Agreement (CLA) - -In order to accept your pull request, we need you to submit a CLA. You only need -to do this once, so if you've done this for another Elastic open source -project, you're good to go. - -**[Complete your CLA here.](https://www.elastic.co/contributor-agreement)** - -## When to follow this process - -You should consider using this process if you intend to make "substantial" -changes to Kibana or its documentation. Some examples that would benefit -from an RFC are: - - - A new feature that creates new API surface area, such as a new - service available to plugins. - - The removal of features that already shipped as part of a release. - - The introduction of new idiomatic usage or conventions, even if they - do not include code changes to Kibana itself. - -The RFC process is a great opportunity to get more eyeballs on your proposal -before it becomes a part of a released version of Kibana. Quite often, even -proposals that seem "obvious" can be significantly improved once a wider -group of interested people have a chance to weigh in. - -The RFC process can also be helpful to encourage discussions about a proposed -feature as it is being designed, and incorporate important constraints into -the design while it's easier to change, before the design has been fully -implemented. - -Some changes do not require an RFC: - - - Rephrasing, reorganizing or refactoring - - Addition or removal of warnings - - Additions that strictly improve objective, numerical quality - criteria (speedup, better browser support) - - Addition of features that do not impact other Kibana plugins (do not - expose any API to other plugins) - -## What the process is - -In short, to get a major feature added to the Kibana codebase, one usually -first gets the RFC merged into the RFC tree as a markdown file. At that point -the RFC is 'active' and may be implemented with the goal of eventual inclusion -into Kibana. - -* Fork the Kibana repo http://github.com/elastic/kibana -* Copy `rfcs/0000_template.md` to `rfcs/text/0001_my_feature.md` (where -'my_feature' is descriptive. Assign a number. Check that an RFC with this -number doesn't already exist in `master` or an open PR). -* Fill in the RFC. Put care into the details: **RFCs that do not -present convincing motivation, demonstrate understanding of the -impact of the design, or are disingenuous about the drawbacks or -alternatives tend to be poorly-received**. -* Submit a pull request. As a pull request the RFC will receive design -feedback from the larger community and Elastic staff. The author should -be prepared to revise it in response. -* Build consensus and integrate feedback. RFCs that have broad support -are much more likely to make progress than those that don't receive any -comments. -* Eventually, the team will decide whether the RFC is a candidate -for inclusion in Kibana. -* RFCs that are candidates for inclusion in Kibana will enter a "final comment -period" lasting at least 3 working days. The beginning of this period will be signaled with a -comment and tag on the RFCs pull request. -* An RFC can be modified based upon feedback from the team and community. -Significant modifications may trigger a new final comment period. -* An RFC may be rejected by the team after public discussion has settled -and comments have been made summarizing the rationale for rejection. A member of -the team should then close the RFCs associated pull request. -* An RFC may be accepted at the close of its final comment period. A team -member will merge the RFCs associated pull request, at which point the RFC will -become 'active'. - -## The RFC life-cycle - -Once an RFC becomes active, then authors may implement it and submit the -feature as a pull request to the Kibana repo. Becoming 'active' is not a rubber -stamp, and in particular still does not mean the feature will ultimately -be merged; it does mean that the team in ownership of the feature has agreed to -it in principle and are amenable to merging it. - -Furthermore, the fact that a given RFC has been accepted and is -'active' implies nothing about what priority is assigned to its -implementation, nor whether anybody is currently working on it. - -Modifications to active RFCs can be done in followup PRs. We strive -to write each RFC in a manner that it will reflect the final design of -the feature; but the nature of the process means that we cannot expect -every merged RFC to actually reflect what the end result will be at -the time of the next major release; therefore we try to keep each RFC -document somewhat in sync with the Kibana feature as planned, -tracking such changes via followup pull requests to the document. You -may include updates to the RFC in the same PR that makes the code change. - -## Implementing an RFC - -The author of an RFC is not obligated to implement it. Of course, the -RFC author (like any other developer) is welcome to post an -implementation for review after the RFC has been accepted. - -If you are interested in working on the implementation for an 'active' -RFC, but cannot determine if someone else is already working on it, -feel free to ask (e.g. by leaving a comment on the associated issue). - -## Reviewing RFCs - -Each week the team will attempt to review some set of open RFC -pull requests. - -Every accepted feature should have a champion from the team which will -ultimately maintain the feature long-term. The champion will represent the -feature and its progress. - -**Kibana's RFC process owes its inspiration to the [React RFC process], [Yarn RFC process], [Rust RFC process], and [Ember RFC process]** - -[React RFC process]: https://github.com/reactjs/rfcs -[Yarn RFC process]: https://github.com/yarnpkg/rfcs -[Rust RFC process]: https://github.com/rust-lang/rfcs -[Ember RFC process]: https://github.com/emberjs/rfcs