From 555a63edbece7022cb5cdeca9abe8d96d4990e4b Mon Sep 17 00:00:00 2001 From: William Muir Date: Wed, 5 Jan 2022 16:28:03 -0600 Subject: [PATCH 1/4] Add an RFC to establish SIG Go --- rfcs/20220105-sig-go.md | 81 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 rfcs/20220105-sig-go.md diff --git a/rfcs/20220105-sig-go.md b/rfcs/20220105-sig-go.md new file mode 100644 index 000000000..e1d9d6500 --- /dev/null +++ b/rfcs/20220105-sig-go.md @@ -0,0 +1,81 @@ +# RFC: Establish SIG Go + +| Status | **Proposed** | +:-------------- |:------------------------------------------------------- | +| **RFC #** | [TBD](https://github.com/tensorflow/community/pull/TBD) | +| **Author(s)** | William Muir (wamuir@gmail.com) | +| **Sponsor** | Mihai Maruseac (mihaimaruseac@google.com) | +| **Updated** | 2022-01-05 | + +## Objective + +Establish SIG Go with the objectives of fostering and facilitating community +collaboration around the TensorFlow Go bindings. Community collaboration is +expected to result in improvements to the usability and maintenance of the +bindings. + +## Context + +Go is a statically-typed, compiled programming language with wide use, +especially in the development of API/RPC services, CLIs and web services and in +data processing [[1](https://blog.golang.org/survey2020-result)]. Go bindings +to the TensorFlow C API were first introduced in TensorFlow v0.11.0 and have +since resided within the main TensorFlow repository, at +[github.com/tensorflow/tensorflow/go](https://github.com/tensorflow/tensorflow/tree/r2.8/tensorflow/go). +These bindings are +[loosely integrated with the build system](https://github.com/tensorflow/tensorflow/pull/50934) +and are presently listed as being both +[unsupported by the community](https://www.tensorflow.org/versions) and +[unsupported by the TensorFlow team](https://github.com/tensorflow/build/tree/master/golang_install_guide). + +Significant problems presently exist in the usability of TensorFlow's Go +bindings. Changes to how Go manages dependencies, specifically in the +implementation of [Go Modules](https://blog.golang.org/using-go-modules), have +resulted in a set of installation challenges (see, for instance, GitHub issues +[41808](https://github.com/tensorflow/tensorflow/issues/41808) and +[43847](https://github.com/tensorflow/tensorflow/issues/43847)). To alleviate +these issues, there has been discussion regarding relocation of the Go bindings +to a dedicated repository +([1](https://github.com/tensorflow/tensorflow/pull/44655#issuecomment-725040183), +[2](https://github.com/tensorflow/tensorflow/pull/50934)). A component of this +SIG proposal is a request for TensorFlow team support and collaboration in +migrating the TensorFlow Go bindings to a dedicated GitHub repository. + +This request proposes that an opportunity exists to establish a effective SIG +around the Go bindings. In the past, the TensorFlow developer community has +made valuable contributions to the Go bindings, but community contributions +have been sporadic. Implicit in this request is an acknowledgment that the +current approach is unlikely to fully promote community collaboration due, for +instance, to collocation of the bindings with TensorFlow core, methods for +issue assignment/handling, the current state of the bindings in terms of +usability, and the recent shift of the bindings into unsupported status. The +expected outcome of establishing SIG Go is to increase community collaboration +around the Go bindings, leading to the resolution of these issues and a pathway +for long-term maintenance and development activities. + +## Goals & Objectives + +The SIG proposes a charter focused on conservative aims: engaging the +community, solving current and future usability issues, performing on-going +maintenance, and making incremental improvements to the existing codebase +(e.g., functionality, testing, documentation). + +More specifically, SIG Go's initial focus will be on the following set of +problems/objectives: + +* Fostering community involvement for the project and membership in SIG Go. +* Migrating TensorFlow/Go source code from the main TensorFlow repository to + a dedicated repository. +* Restoring usability of the bindings, specifically achieving interoperability + with Go tooling for module installation. +* Improving unit testing and the coverage of tests. +* Improving package documentation, including example code. +* Assessing design and functionality of the package, identifying opportunities + and developing a roadmap. + +## Membership + +Anyone involved in or using or contributing to the TensorFlow Go bindings will +be welcome to join the group. To participate, prospective members will be asked +to join SIG Go's mailing list, once established (e.g., at +[go@tensorflow.org](mailto:go@tensorflow.org)). From 65bc27e5fd8eb692035bee8f5ff04cd6f970fa9c Mon Sep 17 00:00:00 2001 From: William Muir Date: Wed, 5 Jan 2022 16:28:22 -0600 Subject: [PATCH 2/4] Add SIG Go --- sigs/go/CHARTER.md | 48 ++++++++++++++++++++ sigs/go/SIG-request.md | 100 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 148 insertions(+) create mode 100644 sigs/go/CHARTER.md create mode 100644 sigs/go/SIG-request.md diff --git a/sigs/go/CHARTER.md b/sigs/go/CHARTER.md new file mode 100644 index 000000000..d5c225550 --- /dev/null +++ b/sigs/go/CHARTER.md @@ -0,0 +1,48 @@ +# SIG Go + +## Objective + +The purpose of this special interest group is to foster and facilitate +community collaboration around the TensorFlow Go bindings. Community +collaboration is expected to result in improvements to the usability and +maintenance of the bindings. + +## Membership + +Anyone involved in or using or contributing to the TensorFlow Go bindings is +welcome to join the group. To participate, please join the mailing list +([go@tensorflow.org](mailto:go@tensorflow.org)). + +Archives of the mailing list will be publicly available. + +## Resources + +* Mailing list [SIG Go](https://groups.google.com/a/tensorflow.org/forum/#!forum/sig-go) +* GitHub repository [tensorflow/go](https://github.com/tensorflow/go) +* Vanity import path [tensorflow.org/go](https://tensorflow.org/go) + +## Quarterly Meetings + +SIG Go will hold quarterly meetings via public Google Video Conference for +discussion related to the TensorFlow Go bindings. All subscribers to the +[go@tensorflow.org](mailto:go@tensorflow.org) mailing list will be invited. +The primary topics for these meetings will include: + +1. Discussion and review of significant decisions and changes. +2. Roadmap discussions. +3. Issues, bugs, and compatibility concerns. +4. Community contributions and opportunities for community involvement. +5. An update on the SIG's status and health, including a review and assessment + of progress toward achieving group goals. + +## Contacts + +* Project leads: + - + - William Muir [@wamuir](https://github.com/wamuir) - wamuir at gmail +* For administrative questions, contact tf-community-team at google + +## Code of Conduct + +As with all forums and spaces related to TensorFlow, SIG Go is subject to the +[TensorFlow Code of Conduct](https://github.com/tensorflow/tensorflow/blob/master/CODE_OF_CONDUCT.md). diff --git a/sigs/go/SIG-request.md b/sigs/go/SIG-request.md new file mode 100644 index 000000000..9179355fe --- /dev/null +++ b/sigs/go/SIG-request.md @@ -0,0 +1,100 @@ +# Request for SIG + +## What is this group for? + +The purpose of this special interest group is to foster and facilitate +community collaboration around the TensorFlow Go bindings. Community +collaboration is expected to result in improvements to the usability and +maintenance of the bindings. + +Go is a statically-typed, compiled programming language with wide use, +especially in the development of API/RPC services, CLIs and web services and in +data processing [[1](https://blog.golang.org/survey2020-result)]. Go bindings +to the TensorFlow C API were first introduced in TensorFlow v0.11.0 and have +since resided within the main TensorFlow repository, at +[github.com/tensorflow/tensorflow/go](https://github.com/tensorflow/tensorflow/tree/r2.8/tensorflow/go). +These bindings are +[loosely integrated with the build system](https://github.com/tensorflow/tensorflow/pull/50934) +and are presently listed as being both +[unsupported by the community](https://www.tensorflow.org/versions) and +[unsupported by the TensorFlow team](https://github.com/tensorflow/build/tree/master/golang_install_guide). + +Significant problems presently exist in the usability of the Go bindings. +Changes to how Go manages dependencies, specifically in the implementation of +[Go Modules](https://blog.golang.org/using-go-modules), have resulted in a set +of installation challenges (see, for instance, GitHub issues +[41808](https://github.com/tensorflow/tensorflow/issues/41808) and +[43847](https://github.com/tensorflow/tensorflow/issues/43847)). To alleviate +these issues, there has been discussion regarding relocation of the Go bindings to +a dedicated repository +([1](https://github.com/tensorflow/tensorflow/pull/44655#issuecomment-725040183), +[2](https://github.com/tensorflow/tensorflow/pull/50934)). +A component of this SIG proposal is a request for TensorFlow team support and +collaboration in migrating the TensorFlow Go bindings to a dedicated GitHub +repository. + +This request proposes that an opportunity exists to establish a effective SIG +around the Go bindings. In the past, the TensorFlow developer community has +made valuable contributions to the Go bindings, but community contributions +have been sporadic. Implicit in this request is an acknowledgment that the +current approach is unlikely to fully promote community collaboration due, for +instance, to collocation of the bindings with TensorFlow core, methods for +issue assignment/handling, the current state of the bindings in terms of +usability, and the recent shift of the bindings into unsupported status. The +expected outcome of establishing SIG Go is to increase community collaboration +around the Go bindings, leading to the resolution of these issues and a pathway +for long-term maintenance and development activities. + +## Who will be part of it? + +* SIG Go leads: + - + - William Muir [@wamuir](https://github.com/wamuir) - wamuir at gmail +* Anyone interested in discussing or contributing to the TensorFlow Go bindings is welcome. + +## What initial problems will the group tackle? + +The SIG proposes a charter focused on conservative aims: engaging the +community, solving current and future usability issues, performing on-going +maintenance, and making incremental improvements to the existing codebase +(e.g., functionality, tests, examples, documentation). + +More specifically, the SIG's initial focus will be on the following set of +problems/objectives: + +* Fostering community involvement for the project and membership in SIG Go. +* Migrating TensorFlow/Go source code from the main TensorFlow repository to + a dedicated repository. +* Restoring usability of the bindings, specifically achieving interoperability + with Go tooling for module installation. +* Improving unit testing and the coverage of tests. +* Improving package documentation, including example code. +* Assessing design and functionality of the package, identifying opportunities + and developing a roadmap. + +## What modes of communication do you intend to use? + +* A dedicated mailing list backed by Google Groups. +* As needed, video conferencing on Google Hangouts. + +## Launch plan + +1. Identification of any additional group leads and/or initial members. +2. Publication of the proposal and charter for community review and comments. +3. Notification of SIG establishment via TensorFlow general mailing lists + (discuss@, developers ML). +4. Addition of SIG Go to the community pages on + [tensorflow.org](https://tensorflow.org). +5. Creation of a SIG mailing list and development of list discussions about + initial work items. +6. Establishment of [tensorflow.org/go](https://tensorflow.org/go), via + [TensorFlow Documentation](https://github.com/tensorflow/docs) pages, for + use as a [module import path](https://golang.org/ref/mod#vcs-find). +7. Collaboration with the TensorFlow team on establishing a dedicated + GitHub repository for the Go bindings and on migrating the bindings + from the main TensorFlow repository. +8. Creation of a blog post for the TensorFlow Medium.com blog community. + +# Charter + +Here's the link to the [group charter](CHARTER.md). From 03a1d4adec2db10704b40b2ebfa4c3e139c38666 Mon Sep 17 00:00:00 2001 From: William Muir Date: Wed, 5 Jan 2022 16:36:14 -0600 Subject: [PATCH 3/4] Update RFC Number --- rfcs/20220105-sig-go.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rfcs/20220105-sig-go.md b/rfcs/20220105-sig-go.md index e1d9d6500..d75ce4adb 100644 --- a/rfcs/20220105-sig-go.md +++ b/rfcs/20220105-sig-go.md @@ -2,7 +2,7 @@ | Status | **Proposed** | :-------------- |:------------------------------------------------------- | -| **RFC #** | [TBD](https://github.com/tensorflow/community/pull/TBD) | +| **RFC #** | [407](https://github.com/tensorflow/community/pull/407) | | **Author(s)** | William Muir (wamuir@gmail.com) | | **Sponsor** | Mihai Maruseac (mihaimaruseac@google.com) | | **Updated** | 2022-01-05 | From d4510c332b9fe741e8d685d145657e3b74c856b9 Mon Sep 17 00:00:00 2001 From: William Muir Date: Sat, 29 Jan 2022 05:59:22 -0600 Subject: [PATCH 4/4] Incorporate edits to SIG request and charter based on feedback. --- sigs/go/CHARTER.md | 9 ++++++--- sigs/go/SIG-request.md | 2 ++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/sigs/go/CHARTER.md b/sigs/go/CHARTER.md index d5c225550..3fc5b6d4f 100644 --- a/sigs/go/CHARTER.md +++ b/sigs/go/CHARTER.md @@ -24,9 +24,12 @@ Archives of the mailing list will be publicly available. ## Quarterly Meetings SIG Go will hold quarterly meetings via public Google Video Conference for -discussion related to the TensorFlow Go bindings. All subscribers to the -[go@tensorflow.org](mailto:go@tensorflow.org) mailing list will be invited. -The primary topics for these meetings will include: +discussion related to the TensorFlow Go bindings. Additional meetings may be +scheduled as needed or on a more frequent basis to facilitate SIG launch +activites or to provide timely discussion on one or more topics of interest to +the community. Meeting announcements will be made to the +[go@tensorflow.org](mailto:go@tensorflow.org) mailing list and all subscribers +will be invited. The primary topics for quarterly meetings will include: 1. Discussion and review of significant decisions and changes. 2. Roadmap discussions. diff --git a/sigs/go/SIG-request.md b/sigs/go/SIG-request.md index 9179355fe..e7c524b7c 100644 --- a/sigs/go/SIG-request.md +++ b/sigs/go/SIG-request.md @@ -69,6 +69,7 @@ problems/objectives: with Go tooling for module installation. * Improving unit testing and the coverage of tests. * Improving package documentation, including example code. +* Authoring and publishing tutorials and other instructional content. * Assessing design and functionality of the package, identifying opportunities and developing a roadmap. @@ -76,6 +77,7 @@ problems/objectives: * A dedicated mailing list backed by Google Groups. * As needed, video conferencing on Google Hangouts. +* Other communication platforms, consistent with community preferences. ## Launch plan