)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"4ff30ae3b2e2a33cfc46912b0c283b261bbec38b","unresolved":false,"context_lines":[{"line_number":11,"context_line":"for limited use."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The TC should be able to approve other languages based"},{"line_number":14,"context_line":"on the same steps later."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Projects do not have to come to TC for using Go, they"},{"line_number":17,"context_line":"can get specs approved in openstack-specs repo with"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bacf61ea_3ac9bfad","line":14,"updated":"2016-08-02 15:48:44.000000000","message":"If that\u0027s the case, I still don\u0027t see why we are even mentioning Go here. IOW, if these steps apply to all future language additions, why not just say that?","commit_id":"d15952c3121aa316fa7b06a185390d5c1dd9c522"}],"resolutions/20160707-community-input-for-new-language-use.rst":[{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"8b813c6992d0e9c8960b869f3d483a22f863912d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":" 2016-07-07 Community Input for alternate Programming Languages (Go)"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Adding a new supported language comes with associated costs, namely"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aa78d24_7afe8e39","line":2,"range":{"start_line":2,"start_character":32,"end_line":2,"end_character":41},"updated":"2016-07-08 11:32:53.000000000","message":"CC: Consistent Capitalization","commit_id":"18b67ec35051940f0fb176893817185925fab947"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"8b813c6992d0e9c8960b869f3d483a22f863912d","unresolved":false,"context_lines":[{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Adding a new supported language comes with associated costs, namely"},{"line_number":6,"context_line":"the risk of a divided community within a project as well as in the larger"},{"line_number":7,"context_line":"OpenStack ecosystem this was well recognized in an earlier resolution (see"},{"line_number":8,"context_line":":doc:`20150901-programming-languages`). However that resolution did not"},{"line_number":9,"context_line":"lay down a path for projects to request the ability to use newer"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aa78d24_50f29307","line":6,"range":{"start_line":6,"start_character":57,"end_line":6,"end_character":73},"updated":"2016-07-08 11:32:53.000000000","message":"later you refer to this (I think) as cross project efforts; may be good to pick one set of terms.","commit_id":"18b67ec35051940f0fb176893817185925fab947"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"8b813c6992d0e9c8960b869f3d483a22f863912d","unresolved":false,"context_lines":[{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Adding a new supported language comes with associated costs, namely"},{"line_number":6,"context_line":"the risk of a divided community within a project as well as in the larger"},{"line_number":7,"context_line":"OpenStack ecosystem this was well recognized in an earlier resolution (see"},{"line_number":8,"context_line":":doc:`20150901-programming-languages`). However that resolution did not"},{"line_number":9,"context_line":"lay down a path for projects to request the ability to use newer"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aa78d24_70922fa1","line":6,"range":{"start_line":6,"start_character":14,"end_line":6,"end_character":31},"updated":"2016-07-08 11:32:53.000000000","message":"later you refer to this merely as \"community costs\" so it may be worthwhile to point that out here.","commit_id":"18b67ec35051940f0fb176893817185925fab947"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"0750354ae94fb60217c5959c6ef202cddd5859f1","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Adding a new supported language comes with associated costs, namely"},{"line_number":6,"context_line":"the risk of a divided community within a project as well as in the larger"},{"line_number":7,"context_line":"OpenStack ecosystem this was well recognized in an earlier resolution (see"},{"line_number":8,"context_line":":doc:`20150901-programming-languages`). However that resolution did not"},{"line_number":9,"context_line":"lay down a path for projects to request the ability to use newer"},{"line_number":10,"context_line":"programming languages to solve specific well identified problems."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aa78d24_1c94c688","line":7,"range":{"start_line":7,"start_character":9,"end_line":7,"end_character":24},"updated":"2016-07-07 20:12:35.000000000","message":"This is a run-on sentence. Add a period after \u0027ecosystem\u0027.","commit_id":"18b67ec35051940f0fb176893817185925fab947"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"8b813c6992d0e9c8960b869f3d483a22f863912d","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Adding a new supported language comes with associated costs, namely"},{"line_number":6,"context_line":"the risk of a divided community within a project as well as in the larger"},{"line_number":7,"context_line":"OpenStack ecosystem this was well recognized in an earlier resolution (see"},{"line_number":8,"context_line":":doc:`20150901-programming-languages`). However that resolution did not"},{"line_number":9,"context_line":"lay down a path for projects to request the ability to use newer"},{"line_number":10,"context_line":"programming languages to solve specific well identified problems."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aa78d24_90dcfb75","line":7,"range":{"start_line":7,"start_character":9,"end_line":7,"end_character":24},"in_reply_to":"1aa78d24_1c94c688","updated":"2016-07-08 11:32:53.000000000","message":"++","commit_id":"18b67ec35051940f0fb176893817185925fab947"},{"author":{"_account_id":6316,"name":"Anita Kuno","email":"anteaya@anteaya.info","username":"anteaya"},"change_message_id":"e50c47af7a2e1a660b9c3d6ed2feea1d77723013","unresolved":false,"context_lines":[{"line_number":6,"context_line":"the risk of a divided community within a project as well as in the larger"},{"line_number":7,"context_line":"OpenStack ecosystem this was well recognized in an earlier resolution (see"},{"line_number":8,"context_line":":doc:`20150901-programming-languages`). However that resolution did not"},{"line_number":9,"context_line":"lay down a path for projects to request the ability to use newer"},{"line_number":10,"context_line":"programming languages to solve specific well identified problems."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"One such language being explored by some projects is Go. Go (alternatively"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aa78d24_bcbe5262","line":9,"updated":"2016-07-07 20:19:42.000000000","message":"I\u0027d remove \u0027newer\u0027 I don\u0027t think the age of the language is relevant to the discussion.","commit_id":"18b67ec35051940f0fb176893817185925fab947"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"8b813c6992d0e9c8960b869f3d483a22f863912d","unresolved":false,"context_lines":[{"line_number":6,"context_line":"the risk of a divided community within a project as well as in the larger"},{"line_number":7,"context_line":"OpenStack ecosystem this was well recognized in an earlier resolution (see"},{"line_number":8,"context_line":":doc:`20150901-programming-languages`). However that resolution did not"},{"line_number":9,"context_line":"lay down a path for projects to request the ability to use newer"},{"line_number":10,"context_line":"programming languages to solve specific well identified problems."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"One such language being explored by some projects is Go. Go (alternatively"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aa78d24_ba8f56cb","line":9,"in_reply_to":"1aa78d24_bcbe5262","updated":"2016-07-08 11:32:53.000000000","message":"I agree; not newer but rather different.","commit_id":"18b67ec35051940f0fb176893817185925fab947"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"8b813c6992d0e9c8960b869f3d483a22f863912d","unresolved":false,"context_lines":[{"line_number":9,"context_line":"lay down a path for projects to request the ability to use newer"},{"line_number":10,"context_line":"programming languages to solve specific well identified problems."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"One such language being explored by some projects is Go. Go (alternatively"},{"line_number":13,"context_line":"referred to as \"Golang\" for clarity) is a programming language designed to"},{"line_number":14,"context_line":"produce efficient programs, especially for those programs that require"},{"line_number":15,"context_line":"concurrency and network operations."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"The OpenStack Technical Committee recognizes the community cost and cross"},{"line_number":18,"context_line":"project efforts to support the new language use as primary inhibitors to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aa78d24_b0b5b732","line":15,"range":{"start_line":12,"start_character":0,"end_line":15,"end_character":35},"updated":"2016-07-08 11:32:53.000000000","message":"I believe that too much of this proposal is focusing on the Go situation and is therefore leading us down to either (a) a highly focused discussion of the swift/go situation or (b) an attempt to create a very specific set of rules for swift and go.\n\nIt would, I think, be advantageous to elevate the argument out of the Go/Swift debate.","commit_id":"18b67ec35051940f0fb176893817185925fab947"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"c4c2192d15de4d0ed6e597286f11c79761fd5962","unresolved":false,"context_lines":[{"line_number":9,"context_line":"lay down a path for projects to request the ability to use newer"},{"line_number":10,"context_line":"programming languages to solve specific well identified problems."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"One such language being explored by some projects is Go. Go (alternatively"},{"line_number":13,"context_line":"referred to as \"Golang\" for clarity) is a programming language designed to"},{"line_number":14,"context_line":"produce efficient programs, especially for those programs that require"},{"line_number":15,"context_line":"concurrency and network operations."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"The OpenStack Technical Committee recognizes the community cost and cross"},{"line_number":18,"context_line":"project efforts to support the new language use as primary inhibitors to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aa78d24_c96419e7","line":15,"range":{"start_line":12,"start_character":0,"end_line":15,"end_character":35},"in_reply_to":"1aa78d24_b0b5b732","updated":"2016-07-08 13:53:51.000000000","message":"I agree, while we need to have specific discussions about Go, to me this resolution is about how we use a process and the boundaries for the Performance Team\u0027s charter.","commit_id":"18b67ec35051940f0fb176893817185925fab947"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"8b813c6992d0e9c8960b869f3d483a22f863912d","unresolved":false,"context_lines":[{"line_number":14,"context_line":"produce efficient programs, especially for those programs that require"},{"line_number":15,"context_line":"concurrency and network operations."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"The OpenStack Technical Committee recognizes the community cost and cross"},{"line_number":18,"context_line":"project efforts to support the new language use as primary inhibitors to"},{"line_number":19,"context_line":"widespread use of Go and requires projects that would like to use Go to"},{"line_number":20,"context_line":"do a thorough vetting process. The TC encourages the teams like"},{"line_number":21,"context_line":"the `Performance Team`_ to expand its scope to have a set of experts who"},{"line_number":22,"context_line":"can help these projects avoid having to rewrite sections of code"},{"line_number":23,"context_line":"in a new language by helping identify better ways to use existing"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aa78d24_f050df0c","line":20,"range":{"start_line":17,"start_character":0,"end_line":20,"end_character":31},"updated":"2016-07-08 11:32:53.000000000","message":"this sentence is long and confusing.\n\nMay I propose the following (if it reflects what you intended).\n\nThe OpenStack Technical Committee has identified two significant reasons for resisting the attempts to adopt a new language. These are the increased community cost, and the cross project efforts required to support a new language. It is for these reasons that it believes that any request to adopt a new language must be vetted thoroughly.","commit_id":"18b67ec35051940f0fb176893817185925fab947"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"0750354ae94fb60217c5959c6ef202cddd5859f1","unresolved":false,"context_lines":[{"line_number":21,"context_line":"the `Performance Team`_ to expand its scope to have a set of experts who"},{"line_number":22,"context_line":"can help these projects avoid having to rewrite sections of code"},{"line_number":23,"context_line":"in a new language by helping identify better ways to use existing"},{"line_number":24,"context_line":"tools/libraries etc to solve their performance problems. The key to this"},{"line_number":25,"context_line":"whole process is for a project to reach out early to the larger community to"},{"line_number":26,"context_line":"get input and feedback into their experiment and eventually using Go as a"},{"line_number":27,"context_line":"tool to be used in special circumstances."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"* Projects should identify specific problems/issues that they would like to"},{"line_number":30,"context_line":"  solve and get help from community to find/explore alternate ways to reach"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aa78d24_3cfc22b7","line":27,"range":{"start_line":24,"start_character":57,"end_line":27,"end_character":41},"updated":"2016-07-07 20:12:35.000000000","message":"\"The goal of this process is to help a project to address performance issues in Python instead of assuming that the only solution available is to use Go. Yes, there may be some cases where it turns out that Go is the only acceptable solution, but those should be very rare.\"","commit_id":"18b67ec35051940f0fb176893817185925fab947"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"4c71a9308bdd06c3eb469aac17aeb6e9339f3fff","unresolved":false,"context_lines":[{"line_number":27,"context_line":"tool to be used in special circumstances."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"* Projects should identify specific problems/issues that they would like to"},{"line_number":30,"context_line":"  solve and get help from community to find/explore alternate ways to reach"},{"line_number":31,"context_line":"  the same goal."},{"line_number":32,"context_line":"* Projects should follow their existing Blueprint/Specification process"},{"line_number":33,"context_line":"  to make the case for a specific exception to use golang."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aa78d24_e8101c02","line":30,"updated":"2016-07-07 18:43:25.000000000","message":"\"from the community\"","commit_id":"18b67ec35051940f0fb176893817185925fab947"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"8b813c6992d0e9c8960b869f3d483a22f863912d","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"* Projects should identify specific problems/issues that they would like to"},{"line_number":30,"context_line":"  solve and get help from community to find/explore alternate ways to reach"},{"line_number":31,"context_line":"  the same goal."},{"line_number":32,"context_line":"* Projects should follow their existing Blueprint/Specification process"},{"line_number":33,"context_line":"  to make the case for a specific exception to use golang."},{"line_number":34,"context_line":"* Projects should file a specification in the community `OpenStack Specs`_"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aa78d24_90f87bc6","line":31,"range":{"start_line":31,"start_character":6,"end_line":31,"end_character":10},"updated":"2016-07-08 11:32:53.000000000","message":"pedantic but this sentence ends with \"the same goal\" but never mentions a goal earlier. maybe you mean \"ways to solve these problems without resorting to a new programming language\"?","commit_id":"18b67ec35051940f0fb176893817185925fab947"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"4c71a9308bdd06c3eb469aac17aeb6e9339f3fff","unresolved":false,"context_lines":[{"line_number":33,"context_line":"  to make the case for a specific exception to use golang."},{"line_number":34,"context_line":"* Projects should file a specification in the community `OpenStack Specs`_"},{"line_number":35,"context_line":"  repository with details on how they would integrate with the larger mission"},{"line_number":36,"context_line":"  w.r.t Documentation, Dependencies, Testing etc. and provide details on"},{"line_number":37,"context_line":"  all the alternatives explored before ending up using Go."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Like with existing languages, projects using Go language should"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aa78d24_c82e0042","line":36,"updated":"2016-07-07 18:43:25.000000000","message":"We should spell out \"with respect to\" for folks who don\u0027t know what the abbreviation means.","commit_id":"18b67ec35051940f0fb176893817185925fab947"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"0750354ae94fb60217c5959c6ef202cddd5859f1","unresolved":false,"context_lines":[{"line_number":33,"context_line":"  to make the case for a specific exception to use golang."},{"line_number":34,"context_line":"* Projects should file a specification in the community `OpenStack Specs`_"},{"line_number":35,"context_line":"  repository with details on how they would integrate with the larger mission"},{"line_number":36,"context_line":"  w.r.t Documentation, Dependencies, Testing etc. and provide details on"},{"line_number":37,"context_line":"  all the alternatives explored before ending up using Go."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Like with existing languages, projects using Go language should"},{"line_number":40,"context_line":"continue to collaborate where appropriate to share code in common"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aa78d24_9c8d5633","line":37,"range":{"start_line":36,"start_character":54,"end_line":37,"end_character":57},"updated":"2016-07-07 20:12:35.000000000","message":"This doesn\u0027t sound quite right. I think there should be a resource (e.g., the Performance Team) to which a team can refer to address these issues long before they propose using Go (or any other language).","commit_id":"18b67ec35051940f0fb176893817185925fab947"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"8b813c6992d0e9c8960b869f3d483a22f863912d","unresolved":false,"context_lines":[{"line_number":34,"context_line":"* Projects should file a specification in the community `OpenStack Specs`_"},{"line_number":35,"context_line":"  repository with details on how they would integrate with the larger mission"},{"line_number":36,"context_line":"  w.r.t Documentation, Dependencies, Testing etc. and provide details on"},{"line_number":37,"context_line":"  all the alternatives explored before ending up using Go."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Like with existing languages, projects using Go language should"},{"line_number":40,"context_line":"continue to collaborate where appropriate to share code in common"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aa78d24_30e1c7ff","line":37,"range":{"start_line":37,"start_character":32,"end_line":37,"end_character":57},"updated":"2016-07-08 11:32:53.000000000","message":"here\u0027s another case where we seem to be focused on Go","commit_id":"18b67ec35051940f0fb176893817185925fab947"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"8b813c6992d0e9c8960b869f3d483a22f863912d","unresolved":false,"context_lines":[{"line_number":36,"context_line":"  w.r.t Documentation, Dependencies, Testing etc. and provide details on"},{"line_number":37,"context_line":"  all the alternatives explored before ending up using Go."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Like with existing languages, projects using Go language should"},{"line_number":40,"context_line":"continue to collaborate where appropriate to share code in common"},{"line_number":41,"context_line":"libraries, use common style guidelines, and ensure that code is tested"},{"line_number":42,"context_line":"and documented before landing. There is definitely more challenges to be"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aa78d24_90cd1b89","line":39,"updated":"2016-07-08 11:32:53.000000000","message":"this paragraph fills a much needed void.","commit_id":"18b67ec35051940f0fb176893817185925fab947"},{"author":{"_account_id":6316,"name":"Anita Kuno","email":"anteaya@anteaya.info","username":"anteaya"},"change_message_id":"e50c47af7a2e1a660b9c3d6ed2feea1d77723013","unresolved":false,"context_lines":[{"line_number":37,"context_line":"  all the alternatives explored before ending up using Go."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Like with existing languages, projects using Go language should"},{"line_number":40,"context_line":"continue to collaborate where appropriate to share code in common"},{"line_number":41,"context_line":"libraries, use common style guidelines, and ensure that code is tested"},{"line_number":42,"context_line":"and documented before landing. There is definitely more challenges to be"},{"line_number":43,"context_line":"overcome in the larger OpenStack community to determine the best way to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aa78d24_dc451e6f","line":40,"updated":"2016-07-07 20:19:42.000000000","message":"I think it is always appropriate to collaborate","commit_id":"18b67ec35051940f0fb176893817185925fab947"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"4c71a9308bdd06c3eb469aac17aeb6e9339f3fff","unresolved":false,"context_lines":[{"line_number":39,"context_line":"Like with existing languages, projects using Go language should"},{"line_number":40,"context_line":"continue to collaborate where appropriate to share code in common"},{"line_number":41,"context_line":"libraries, use common style guidelines, and ensure that code is tested"},{"line_number":42,"context_line":"and documented before landing. There is definitely more challenges to be"},{"line_number":43,"context_line":"overcome in the larger OpenStack community to determine the best way to"},{"line_number":44,"context_line":"manage dependencies, handle deployment artifacts, and ensure proper gate"},{"line_number":45,"context_line":"testing as OpenStack projects begin to land Go code into master."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aa78d24_e8277c60","line":42,"updated":"2016-07-07 18:43:25.000000000","message":"\"There are\"","commit_id":"18b67ec35051940f0fb176893817185925fab947"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"c4c2192d15de4d0ed6e597286f11c79761fd5962","unresolved":false,"context_lines":[{"line_number":42,"context_line":"and documented before landing. There is definitely more challenges to be"},{"line_number":43,"context_line":"overcome in the larger OpenStack community to determine the best way to"},{"line_number":44,"context_line":"manage dependencies, handle deployment artifacts, and ensure proper gate"},{"line_number":45,"context_line":"testing as OpenStack projects begin to land Go code into master."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":".. _Performance Team: https://wiki.openstack.org/wiki/Performance_Team"},{"line_number":48,"context_line":".. _OpenStack Specs: http://git.openstack.org/cgit/openstack/openstack-specs/"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aa78d24_a97b8d7a","line":45,"updated":"2016-07-08 13:53:51.000000000","message":"This is about Go this time, but is it okay to land Java code if you follow steps outlined above, for example?","commit_id":"18b67ec35051940f0fb176893817185925fab947"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"3b2b6652ebbefb88d9234618dde38d0bd9278233","unresolved":false,"context_lines":[{"line_number":42,"context_line":"and documented before landing. There is definitely more challenges to be"},{"line_number":43,"context_line":"overcome in the larger OpenStack community to determine the best way to"},{"line_number":44,"context_line":"manage dependencies, handle deployment artifacts, and ensure proper gate"},{"line_number":45,"context_line":"testing as OpenStack projects begin to land Go code into master."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":".. _Performance Team: https://wiki.openstack.org/wiki/Performance_Team"},{"line_number":48,"context_line":".. _OpenStack Specs: http://git.openstack.org/cgit/openstack/openstack-specs/"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aa78d24_e4881cc9","line":45,"in_reply_to":"1aa78d24_a97b8d7a","updated":"2016-07-08 14:12:06.000000000","message":"Or .NET where the issue is NOT performance related.","commit_id":"18b67ec35051940f0fb176893817185925fab947"}],"resolutions/20160707-limited-use-of-alternate-prog-languages.rst":[{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"269ab69a371a0e6c3d798f483ec8d38c00df0441","unresolved":false,"context_lines":[{"line_number":23,"context_line":"the `Performance Team`_ to expand its scope to have a set of experts who"},{"line_number":24,"context_line":"can help these projects avoid having to rewrite sections of code"},{"line_number":25,"context_line":"in a new language by helping identify better ways to use existing"},{"line_number":26,"context_line":"tools/libraries etc to solve their performance problems. The goal of this"},{"line_number":27,"context_line":"process is for a project to reach out early to the larger community to"},{"line_number":28,"context_line":"get input and feedback into their experiment(s) and convince the cross"},{"line_number":29,"context_line":"project teams that an alternate language is the best solution."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Projects should identify specific problems/issues that they would like to"},{"line_number":32,"context_line":"  solve and get help from the community to find/explore alternate ways to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_5d097083","line":29,"range":{"start_line":26,"start_character":57,"end_line":29,"end_character":62},"updated":"2016-07-12 15:44:22.000000000","message":"I think it\u0027s the other way around. A project shouldn\u0027t start with the assumption that using !Python is the correct solution, and then expend effort trying to convince the community. The effort should be spent on finding a Python solution, and only if no acceptable solution is found, then all that is need to \"convince\" is that a) no one could come up with a Python solution, and b) a solution in language X does accomplish the task acceptably.","commit_id":"cc4a63a11a869fd3fe93da9d888bd0d3d3cdb7a9"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"d4ef36e3999a0cc932cdc332ee17114234f4c232","unresolved":false,"context_lines":[{"line_number":23,"context_line":"the `Performance Team`_ to expand its scope to have a set of experts who"},{"line_number":24,"context_line":"can help these projects avoid having to rewrite sections of code"},{"line_number":25,"context_line":"in a new language by helping identify better ways to use existing"},{"line_number":26,"context_line":"tools/libraries etc to solve their performance problems. The goal of this"},{"line_number":27,"context_line":"process is for a project to reach out early to the larger community to"},{"line_number":28,"context_line":"get input and feedback into their experiment(s) and convince the cross"},{"line_number":29,"context_line":"project teams that an alternate language is the best solution."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Projects should identify specific problems/issues that they would like to"},{"line_number":32,"context_line":"  solve and get help from the community to find/explore alternate ways to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_d0eee7eb","line":29,"range":{"start_line":26,"start_character":57,"end_line":29,"end_character":62},"in_reply_to":"1aa78d24_5d097083","updated":"2016-07-12 15:48:37.000000000","message":"Ed, If you can reword my sentence in the review, i\u0027ll be happy to try and incorporate it.","commit_id":"cc4a63a11a869fd3fe93da9d888bd0d3d3cdb7a9"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"c17f4221f827c1a2eb3bab08cd8a23f9f2748a41","unresolved":false,"context_lines":[{"line_number":23,"context_line":"the `Performance Team`_ to expand its scope to have a set of experts who"},{"line_number":24,"context_line":"can help these projects avoid having to rewrite sections of code"},{"line_number":25,"context_line":"in a new language by helping identify better ways to use existing"},{"line_number":26,"context_line":"tools/libraries etc to solve their performance problems. The goal of this"},{"line_number":27,"context_line":"process is for a project to reach out early to the larger community to"},{"line_number":28,"context_line":"get input and feedback into their experiment(s) and convince the cross"},{"line_number":29,"context_line":"project teams that an alternate language is the best solution."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Projects should identify specific problems/issues that they would like to"},{"line_number":32,"context_line":"  solve and get help from the community to find/explore alternate ways to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_e9369e01","line":29,"range":{"start_line":26,"start_character":57,"end_line":29,"end_character":62},"in_reply_to":"1aa78d24_8e73a07f","updated":"2016-07-12 16:41:20.000000000","message":"Hmm, i don\u0027t want to leave the scope to just performance issues.","commit_id":"cc4a63a11a869fd3fe93da9d888bd0d3d3cdb7a9"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"07f9f959b2484f378a08419ff953e346b21572a3","unresolved":false,"context_lines":[{"line_number":23,"context_line":"the `Performance Team`_ to expand its scope to have a set of experts who"},{"line_number":24,"context_line":"can help these projects avoid having to rewrite sections of code"},{"line_number":25,"context_line":"in a new language by helping identify better ways to use existing"},{"line_number":26,"context_line":"tools/libraries etc to solve their performance problems. The goal of this"},{"line_number":27,"context_line":"process is for a project to reach out early to the larger community to"},{"line_number":28,"context_line":"get input and feedback into their experiment(s) and convince the cross"},{"line_number":29,"context_line":"project teams that an alternate language is the best solution."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Projects should identify specific problems/issues that they would like to"},{"line_number":32,"context_line":"  solve and get help from the community to find/explore alternate ways to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_8e73a07f","line":29,"range":{"start_line":26,"start_character":57,"end_line":29,"end_character":62},"in_reply_to":"1aa78d24_d0eee7eb","updated":"2016-07-12 16:26:54.000000000","message":"\"The goal of this process is for a project to reach out early to the larger community when they encounter a performance issue that they feel is due to the use of Python. Together they can come up with suggestions for improving the performance using different approaches in Python.\"\n\nThere is more, but those apply to the next few bullets.","commit_id":"cc4a63a11a869fd3fe93da9d888bd0d3d3cdb7a9"},{"author":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"change_message_id":"13d965628c80e4d8659e7a2ed7910962730ef97e","unresolved":false,"context_lines":[{"line_number":23,"context_line":"the `Performance Team`_ to expand its scope to have a set of experts who"},{"line_number":24,"context_line":"can help these projects avoid having to rewrite sections of code"},{"line_number":25,"context_line":"in a new language by helping identify better ways to use existing"},{"line_number":26,"context_line":"tools/libraries etc to solve their performance problems. The goal of this"},{"line_number":27,"context_line":"process is for a project to reach out early to the larger community to"},{"line_number":28,"context_line":"get input and feedback into their experiment(s) and convince the cross"},{"line_number":29,"context_line":"project teams that an alternate language is the best solution."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Projects should identify specific problems/issues that they would like to"},{"line_number":32,"context_line":"  solve and get help from the community to find/explore alternate ways to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dada55a8_173f76d7","line":29,"range":{"start_line":26,"start_character":57,"end_line":29,"end_character":62},"in_reply_to":"1aa78d24_e9369e01","updated":"2016-07-22 12:15:41.000000000","message":"\"The goal of this process is for a project to reach out early to the larger community when they encounter a specific issue that they feel is due to the use of Python. Together they can come up with suggestions for solving the issue using different approaches in Python.\"","commit_id":"cc4a63a11a869fd3fe93da9d888bd0d3d3cdb7a9"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"ba148466dde50248fc5d8660f0319d09d76cffac","unresolved":false,"context_lines":[{"line_number":23,"context_line":"the `Performance Team`_ to expand its scope to have a set of experts who"},{"line_number":24,"context_line":"can help these projects avoid having to rewrite sections of code"},{"line_number":25,"context_line":"in a new language by helping identify better ways to use existing"},{"line_number":26,"context_line":"tools/libraries etc to solve their performance problems. The goal of this"},{"line_number":27,"context_line":"process is for a project to reach out early to the larger community to"},{"line_number":28,"context_line":"get input and feedback into their experiment(s) and convince the cross"},{"line_number":29,"context_line":"project teams that an alternate language is the best solution."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Projects should identify specific problems/issues that they would like to"},{"line_number":32,"context_line":"  solve and get help from the community to find/explore alternate ways to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dada55a8_eb163757","line":29,"range":{"start_line":26,"start_character":57,"end_line":29,"end_character":62},"in_reply_to":"dada55a8_173f76d7","updated":"2016-07-22 13:24:10.000000000","message":"Done","commit_id":"cc4a63a11a869fd3fe93da9d888bd0d3d3cdb7a9"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"269ab69a371a0e6c3d798f483ec8d38c00df0441","unresolved":false,"context_lines":[{"line_number":28,"context_line":"get input and feedback into their experiment(s) and convince the cross"},{"line_number":29,"context_line":"project teams that an alternate language is the best solution."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Projects should identify specific problems/issues that they would like to"},{"line_number":32,"context_line":"  solve and get help from the community to find/explore alternate ways to"},{"line_number":33,"context_line":"  address these issues."},{"line_number":34,"context_line":"* Projects should follow their existing Blueprint/Specification process"},{"line_number":35,"context_line":"  to make the case for a specific exception to use golang."},{"line_number":36,"context_line":"* Projects should file a specification in the community `OpenStack Specs`_"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_5de5f0a1","line":33,"range":{"start_line":31,"start_character":2,"end_line":33,"end_character":23},"updated":"2016-07-12 15:44:22.000000000","message":"This needs to be more specific. What level of \"find/explore\" needs to happen before they should consider abandoning Python for another language?","commit_id":"cc4a63a11a869fd3fe93da9d888bd0d3d3cdb7a9"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"d4ef36e3999a0cc932cdc332ee17114234f4c232","unresolved":false,"context_lines":[{"line_number":28,"context_line":"get input and feedback into their experiment(s) and convince the cross"},{"line_number":29,"context_line":"project teams that an alternate language is the best solution."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Projects should identify specific problems/issues that they would like to"},{"line_number":32,"context_line":"  solve and get help from the community to find/explore alternate ways to"},{"line_number":33,"context_line":"  address these issues."},{"line_number":34,"context_line":"* Projects should follow their existing Blueprint/Specification process"},{"line_number":35,"context_line":"  to make the case for a specific exception to use golang."},{"line_number":36,"context_line":"* Projects should file a specification in the community `OpenStack Specs`_"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_b0c23b51","line":33,"range":{"start_line":31,"start_character":2,"end_line":33,"end_character":23},"in_reply_to":"1aa78d24_5de5f0a1","updated":"2016-07-12 15:48:37.000000000","message":"So, please suggest what to expand it to. I am looking for concrete steps to expand this to.","commit_id":"cc4a63a11a869fd3fe93da9d888bd0d3d3cdb7a9"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"c17f4221f827c1a2eb3bab08cd8a23f9f2748a41","unresolved":false,"context_lines":[{"line_number":28,"context_line":"get input and feedback into their experiment(s) and convince the cross"},{"line_number":29,"context_line":"project teams that an alternate language is the best solution."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Projects should identify specific problems/issues that they would like to"},{"line_number":32,"context_line":"  solve and get help from the community to find/explore alternate ways to"},{"line_number":33,"context_line":"  address these issues."},{"line_number":34,"context_line":"* Projects should follow their existing Blueprint/Specification process"},{"line_number":35,"context_line":"  to make the case for a specific exception to use golang."},{"line_number":36,"context_line":"* Projects should file a specification in the community `OpenStack Specs`_"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_c92c82ae","line":33,"range":{"start_line":31,"start_character":2,"end_line":33,"end_character":23},"in_reply_to":"1aa78d24_6ecc7489","updated":"2016-07-12 16:41:20.000000000","message":"Ditto.","commit_id":"cc4a63a11a869fd3fe93da9d888bd0d3d3cdb7a9"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"07f9f959b2484f378a08419ff953e346b21572a3","unresolved":false,"context_lines":[{"line_number":28,"context_line":"get input and feedback into their experiment(s) and convince the cross"},{"line_number":29,"context_line":"project teams that an alternate language is the best solution."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Projects should identify specific problems/issues that they would like to"},{"line_number":32,"context_line":"  solve and get help from the community to find/explore alternate ways to"},{"line_number":33,"context_line":"  address these issues."},{"line_number":34,"context_line":"* Projects should follow their existing Blueprint/Specification process"},{"line_number":35,"context_line":"  to make the case for a specific exception to use golang."},{"line_number":36,"context_line":"* Projects should file a specification in the community `OpenStack Specs`_"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_6ecc7489","line":33,"range":{"start_line":31,"start_character":2,"end_line":33,"end_character":23},"in_reply_to":"1aa78d24_b0c23b51","updated":"2016-07-12 16:26:54.000000000","message":"\"The specific performance issue should be identified and presented to the community, including the `Performance Team`, who will then examine the issue and come up with alternative designs that will not suffer the same performance problems.\"","commit_id":"cc4a63a11a869fd3fe93da9d888bd0d3d3cdb7a9"},{"author":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"change_message_id":"13d965628c80e4d8659e7a2ed7910962730ef97e","unresolved":false,"context_lines":[{"line_number":28,"context_line":"get input and feedback into their experiment(s) and convince the cross"},{"line_number":29,"context_line":"project teams that an alternate language is the best solution."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Projects should identify specific problems/issues that they would like to"},{"line_number":32,"context_line":"  solve and get help from the community to find/explore alternate ways to"},{"line_number":33,"context_line":"  address these issues."},{"line_number":34,"context_line":"* Projects should follow their existing Blueprint/Specification process"},{"line_number":35,"context_line":"  to make the case for a specific exception to use golang."},{"line_number":36,"context_line":"* Projects should file a specification in the community `OpenStack Specs`_"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dada55a8_3a089f28","line":33,"range":{"start_line":31,"start_character":2,"end_line":33,"end_character":23},"in_reply_to":"1aa78d24_c92c82ae","updated":"2016-07-22 12:15:41.000000000","message":"\"Specific issues should be identified and presented to the community (including the `Performance Team` in case of performance issues), who will then examine the issue and come up with alternative designs that will not suffer the same problems.\"","commit_id":"cc4a63a11a869fd3fe93da9d888bd0d3d3cdb7a9"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"ba148466dde50248fc5d8660f0319d09d76cffac","unresolved":false,"context_lines":[{"line_number":28,"context_line":"get input and feedback into their experiment(s) and convince the cross"},{"line_number":29,"context_line":"project teams that an alternate language is the best solution."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Projects should identify specific problems/issues that they would like to"},{"line_number":32,"context_line":"  solve and get help from the community to find/explore alternate ways to"},{"line_number":33,"context_line":"  address these issues."},{"line_number":34,"context_line":"* Projects should follow their existing Blueprint/Specification process"},{"line_number":35,"context_line":"  to make the case for a specific exception to use golang."},{"line_number":36,"context_line":"* Projects should file a specification in the community `OpenStack Specs`_"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dada55a8_2b116f5e","line":33,"range":{"start_line":31,"start_character":2,"end_line":33,"end_character":23},"in_reply_to":"dada55a8_3a089f28","updated":"2016-07-22 13:24:10.000000000","message":"Done","commit_id":"cc4a63a11a869fd3fe93da9d888bd0d3d3cdb7a9"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"07f9f959b2484f378a08419ff953e346b21572a3","unresolved":false,"context_lines":[{"line_number":31,"context_line":"* Projects should identify specific problems/issues that they would like to"},{"line_number":32,"context_line":"  solve and get help from the community to find/explore alternate ways to"},{"line_number":33,"context_line":"  address these issues."},{"line_number":34,"context_line":"* Projects should follow their existing Blueprint/Specification process"},{"line_number":35,"context_line":"  to make the case for a specific exception to use golang."},{"line_number":36,"context_line":"* Projects should file a specification in the community `OpenStack Specs`_"},{"line_number":37,"context_line":"  repository with details on how they would integrate with the larger mission"},{"line_number":38,"context_line":"  with respect to Documentation, Dependencies, Testing etc. and provide"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_8ed280fe","line":35,"range":{"start_line":34,"start_character":2,"end_line":35,"end_character":58},"updated":"2016-07-12 16:26:54.000000000","message":"\"If none of the solutions suggested by the community is able to resolve the issue using Python, the project should then follow their existing Blueprint/Specification process to make the case for a specific exception to use an alternative language. This should include a summary of the history of the prior steps that demonstrate the failure to find a Python solution with the community.\"","commit_id":"cc4a63a11a869fd3fe93da9d888bd0d3d3cdb7a9"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"c17f4221f827c1a2eb3bab08cd8a23f9f2748a41","unresolved":false,"context_lines":[{"line_number":31,"context_line":"* Projects should identify specific problems/issues that they would like to"},{"line_number":32,"context_line":"  solve and get help from the community to find/explore alternate ways to"},{"line_number":33,"context_line":"  address these issues."},{"line_number":34,"context_line":"* Projects should follow their existing Blueprint/Specification process"},{"line_number":35,"context_line":"  to make the case for a specific exception to use golang."},{"line_number":36,"context_line":"* Projects should file a specification in the community `OpenStack Specs`_"},{"line_number":37,"context_line":"  repository with details on how they would integrate with the larger mission"},{"line_number":38,"context_line":"  with respect to Documentation, Dependencies, Testing etc. and provide"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_690aae27","line":35,"range":{"start_line":34,"start_character":2,"end_line":35,"end_character":58},"in_reply_to":"1aa78d24_8ed280fe","updated":"2016-07-12 16:41:20.000000000","message":"I like this","commit_id":"cc4a63a11a869fd3fe93da9d888bd0d3d3cdb7a9"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"269ab69a371a0e6c3d798f483ec8d38c00df0441","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  details on all the alternatives explored before ending up using Go."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"The consensus on the community specification is the approval for a project"},{"line_number":42,"context_line":"to go ahead with limited use of golang to target the specific problem. The"},{"line_number":43,"context_line":"Technical Committee may choose to add other languages for limited use"},{"line_number":44,"context_line":"following the same steps outlined above at a later date."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Like with existing languages, projects using Go language should"},{"line_number":47,"context_line":"continue to collaborate where appropriate to share code in common"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_fd1dbc73","line":44,"range":{"start_line":42,"start_character":71,"end_line":44,"end_character":56},"updated":"2016-07-12 15:44:22.000000000","message":"I don\u0027t see why this is necessary. If this were written to not specify golang, then it would apply to all future cases as well. IOW, there is nothing distinct about adding golang that would require a different process than any other language. So while the TC is currently exploring golang, it would make more sense to make this resolution apply to golang and any other future language under consideration.","commit_id":"cc4a63a11a869fd3fe93da9d888bd0d3d3cdb7a9"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"07f9f959b2484f378a08419ff953e346b21572a3","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  details on all the alternatives explored before ending up using Go."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"The consensus on the community specification is the approval for a project"},{"line_number":42,"context_line":"to go ahead with limited use of golang to target the specific problem. The"},{"line_number":43,"context_line":"Technical Committee may choose to add other languages for limited use"},{"line_number":44,"context_line":"following the same steps outlined above at a later date."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Like with existing languages, projects using Go language should"},{"line_number":47,"context_line":"continue to collaborate where appropriate to share code in common"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_8e2600cc","line":44,"range":{"start_line":42,"start_character":71,"end_line":44,"end_character":56},"in_reply_to":"1aa78d24_70c8d355","updated":"2016-07-12 16:26:54.000000000","message":"That just seems backwards to me. The only reason the TC addressed golang first is because it was already being used by Swift. We hope to avoid these approval-in-hindsight situations in the future with a document like this, which gives projects guidance for when a new language may be considered. If a project were to propose a problematic language as a solution, that would be raised by the community as soon as it came up; the TC\u0027s approval would only be needed if there were a more-or-less even split of opinion.","commit_id":"cc4a63a11a869fd3fe93da9d888bd0d3d3cdb7a9"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"c17f4221f827c1a2eb3bab08cd8a23f9f2748a41","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  details on all the alternatives explored before ending up using Go."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"The consensus on the community specification is the approval for a project"},{"line_number":42,"context_line":"to go ahead with limited use of golang to target the specific problem. The"},{"line_number":43,"context_line":"Technical Committee may choose to add other languages for limited use"},{"line_number":44,"context_line":"following the same steps outlined above at a later date."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Like with existing languages, projects using Go language should"},{"line_number":47,"context_line":"continue to collaborate where appropriate to share code in common"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_e42b6580","line":44,"range":{"start_line":42,"start_character":71,"end_line":44,"end_character":56},"in_reply_to":"1aa78d24_8e2600cc","updated":"2016-07-12 16:41:20.000000000","message":"It\u0027s backwards to limit the number of languages added as that increases the overall burden to everyone involved in cross project work","commit_id":"cc4a63a11a869fd3fe93da9d888bd0d3d3cdb7a9"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"d4ef36e3999a0cc932cdc332ee17114234f4c232","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  details on all the alternatives explored before ending up using Go."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"The consensus on the community specification is the approval for a project"},{"line_number":42,"context_line":"to go ahead with limited use of golang to target the specific problem. The"},{"line_number":43,"context_line":"Technical Committee may choose to add other languages for limited use"},{"line_number":44,"context_line":"following the same steps outlined above at a later date."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Like with existing languages, projects using Go language should"},{"line_number":47,"context_line":"continue to collaborate where appropriate to share code in common"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_70c8d355","line":44,"range":{"start_line":42,"start_character":71,"end_line":44,"end_character":56},"in_reply_to":"1aa78d24_fd1dbc73","updated":"2016-07-12 15:48:37.000000000","message":"I disagree. I\u0027d like TC to have first dibs on OK\u0027ing languages other than golang.","commit_id":"cc4a63a11a869fd3fe93da9d888bd0d3d3cdb7a9"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1dee23bf0d400cf5fcdbf7434026443f19d9f7e3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":" 2016-07-07 Limited Use of Alternate Programming Languages (Go)"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Adding a new supported language comes with associated costs, namely"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_80c95c5d","line":2,"range":{"start_line":2,"start_character":59,"end_line":2,"end_character":63},"updated":"2016-08-02 16:33:08.000000000","message":"I think the comment on line19 suggests we make this generic.","commit_id":"d15952c3121aa316fa7b06a185390d5c1dd9c522"},{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"41487d5d3bedb394a52dd9584df20cc67ec354af","unresolved":false,"context_lines":[{"line_number":16,"context_line":"concurrency and network operations."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The OpenStack Technical Committee has identified two significant reasons"},{"line_number":19,"context_line":"for resisting the attempts to adopt a new language. These are the increased"},{"line_number":20,"context_line":"community cost, and the cross project efforts required to support a new"},{"line_number":21,"context_line":"language. It is for these reasons that it believes that any request to adopt"},{"line_number":22,"context_line":"a new language must be vetted thoroughly. The TC encourages the teams like"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_9df1cf6d","line":19,"updated":"2016-08-02 13:51:09.000000000","message":"This resolution wanders around a bit between Golang, and generically \"a new language.\" To help with clarity, I suggest adding \"such as golang\" after \"a new language\" in the first sentence.","commit_id":"d15952c3121aa316fa7b06a185390d5c1dd9c522"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1dee23bf0d400cf5fcdbf7434026443f19d9f7e3","unresolved":false,"context_lines":[{"line_number":16,"context_line":"concurrency and network operations."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The OpenStack Technical Committee has identified two significant reasons"},{"line_number":19,"context_line":"for resisting the attempts to adopt a new language. These are the increased"},{"line_number":20,"context_line":"community cost, and the cross project efforts required to support a new"},{"line_number":21,"context_line":"language. It is for these reasons that it believes that any request to adopt"},{"line_number":22,"context_line":"a new language must be vetted thoroughly. The TC encourages the teams like"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_00b56ccf","line":19,"in_reply_to":"bacf61ea_9df1cf6d","updated":"2016-08-02 16:33:08.000000000","message":"I think thats quite a good idea.","commit_id":"d15952c3121aa316fa7b06a185390d5c1dd9c522"},{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"41487d5d3bedb394a52dd9584df20cc67ec354af","unresolved":false,"context_lines":[{"line_number":20,"context_line":"community cost, and the cross project efforts required to support a new"},{"line_number":21,"context_line":"language. It is for these reasons that it believes that any request to adopt"},{"line_number":22,"context_line":"a new language must be vetted thoroughly. The TC encourages the teams like"},{"line_number":23,"context_line":"the `Performance Team`_ to expand its scope to have a set of experts who"},{"line_number":24,"context_line":"can help these projects avoid having to rewrite sections of code"},{"line_number":25,"context_line":"in a new language by helping identify better ways to use existing"},{"line_number":26,"context_line":"tools/libraries etc to solve their performance problems. The goal of this"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_3dcd4387","line":23,"updated":"2016-08-02 13:51:09.000000000","message":"This is the first I\u0027ve heard of the performance team. Am I the only one who didn\u0027t know about this team?","commit_id":"d15952c3121aa316fa7b06a185390d5c1dd9c522"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"4ff30ae3b2e2a33cfc46912b0c283b261bbec38b","unresolved":false,"context_lines":[{"line_number":20,"context_line":"community cost, and the cross project efforts required to support a new"},{"line_number":21,"context_line":"language. It is for these reasons that it believes that any request to adopt"},{"line_number":22,"context_line":"a new language must be vetted thoroughly. The TC encourages the teams like"},{"line_number":23,"context_line":"the `Performance Team`_ to expand its scope to have a set of experts who"},{"line_number":24,"context_line":"can help these projects avoid having to rewrite sections of code"},{"line_number":25,"context_line":"in a new language by helping identify better ways to use existing"},{"line_number":26,"context_line":"tools/libraries etc to solve their performance problems. The goal of this"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_7a1fb709","line":23,"in_reply_to":"bacf61ea_3dcd4387","updated":"2016-08-02 15:48:44.000000000","message":"I first heard about it in the course of this discussion. So you\u0027re not the only one.","commit_id":"d15952c3121aa316fa7b06a185390d5c1dd9c522"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1dee23bf0d400cf5fcdbf7434026443f19d9f7e3","unresolved":false,"context_lines":[{"line_number":20,"context_line":"community cost, and the cross project efforts required to support a new"},{"line_number":21,"context_line":"language. It is for these reasons that it believes that any request to adopt"},{"line_number":22,"context_line":"a new language must be vetted thoroughly. The TC encourages the teams like"},{"line_number":23,"context_line":"the `Performance Team`_ to expand its scope to have a set of experts who"},{"line_number":24,"context_line":"can help these projects avoid having to rewrite sections of code"},{"line_number":25,"context_line":"in a new language by helping identify better ways to use existing"},{"line_number":26,"context_line":"tools/libraries etc to solve their performance problems. The goal of this"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_c01fd4b5","line":23,"in_reply_to":"bacf61ea_7a1fb709","updated":"2016-08-02 16:33:08.000000000","message":"Maybe we should just talk about \"contacting relevant working groups or subteams\"?","commit_id":"d15952c3121aa316fa7b06a185390d5c1dd9c522"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1dee23bf0d400cf5fcdbf7434026443f19d9f7e3","unresolved":false,"context_lines":[{"line_number":37,"context_line":"  issue using Python, the project should then follow their existing"},{"line_number":38,"context_line":"  Blueprint/Specification process to make the case for a specific exception to"},{"line_number":39,"context_line":"  use an alternative language. This should include a summary of the history"},{"line_number":40,"context_line":"  of the prior steps that demonstrate the failure to find a Python solution"},{"line_number":41,"context_line":"  with the community."},{"line_number":42,"context_line":"* Projects should file a specification in the community `OpenStack Specs`_"},{"line_number":43,"context_line":"  repository with details on how they would integrate with the larger mission"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_20ba306f","line":40,"range":{"start_line":40,"start_character":50,"end_line":40,"end_character":66},"updated":"2016-08-02 16:33:08.000000000","message":"\"to find an acceptable python solution\"?\n\nIts possible a potential python based solution doesn\u0027t make any sense, its overly complex, or would be super hard to maintain, so choosing another language is the best bet.","commit_id":"d15952c3121aa316fa7b06a185390d5c1dd9c522"},{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"41487d5d3bedb394a52dd9584df20cc67ec354af","unresolved":false,"context_lines":[{"line_number":42,"context_line":"* Projects should file a specification in the community `OpenStack Specs`_"},{"line_number":43,"context_line":"  repository with details on how they would integrate with the larger mission"},{"line_number":44,"context_line":"  with respect to Documentation, Dependencies, Testing etc. and provide"},{"line_number":45,"context_line":"  details on all the alternatives explored before ending up using Go."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The consensus on the community specification is the approval for a project"},{"line_number":48,"context_line":"to go ahead with limited use of golang to target the specific problem. The"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_3d3ee329","line":45,"updated":"2016-08-02 13:51:09.000000000","message":"Nit: s/Go/golang/ for clarity.","commit_id":"d15952c3121aa316fa7b06a185390d5c1dd9c522"},{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"41487d5d3bedb394a52dd9584df20cc67ec354af","unresolved":false,"context_lines":[{"line_number":49,"context_line":"Technical Committee may choose to add other languages for limited use"},{"line_number":50,"context_line":"following the same steps outlined above at a later date."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Like with existing languages, projects using Go language should"},{"line_number":53,"context_line":"continue to collaborate where appropriate to share code in common"},{"line_number":54,"context_line":"libraries, use common style guidelines, and ensure that code is tested"},{"line_number":55,"context_line":"and documented before landing. There are definitely more challenges to be"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_fd81ebc4","line":52,"updated":"2016-08-02 13:51:09.000000000","message":"Nit: s/Go/golang/ for clarity.","commit_id":"d15952c3121aa316fa7b06a185390d5c1dd9c522"},{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"41487d5d3bedb394a52dd9584df20cc67ec354af","unresolved":false,"context_lines":[{"line_number":55,"context_line":"and documented before landing. There are definitely more challenges to be"},{"line_number":56,"context_line":"overcome in the larger OpenStack community to determine the best way to"},{"line_number":57,"context_line":"manage dependencies, handle deployment artifacts, and ensure proper gate"},{"line_number":58,"context_line":"testing as OpenStack projects begin to land Go code into master."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. _Performance Team: https://wiki.openstack.org/wiki/Performance_Team"},{"line_number":61,"context_line":".. _OpenStack Specs: http://git.openstack.org/cgit/openstack/openstack-specs/"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_5d73d715","line":58,"updated":"2016-08-02 13:51:09.000000000","message":"Nit: s/Go/golang/ for clarity.","commit_id":"d15952c3121aa316fa7b06a185390d5c1dd9c522"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1dee23bf0d400cf5fcdbf7434026443f19d9f7e3","unresolved":false,"context_lines":[{"line_number":55,"context_line":"and documented before landing. There are definitely more challenges to be"},{"line_number":56,"context_line":"overcome in the larger OpenStack community to determine the best way to"},{"line_number":57,"context_line":"manage dependencies, handle deployment artifacts, and ensure proper gate"},{"line_number":58,"context_line":"testing as OpenStack projects begin to land Go code into master."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. _Performance Team: https://wiki.openstack.org/wiki/Performance_Team"},{"line_number":61,"context_line":".. _OpenStack Specs: http://git.openstack.org/cgit/openstack/openstack-specs/"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_23cebab4","line":58,"in_reply_to":"bacf61ea_5d73d715","updated":"2016-08-02 16:33:08.000000000","message":"For me, this is why the OpenStack spec is a good idea to agree the approach to take. Maybe we should add that in here?","commit_id":"d15952c3121aa316fa7b06a185390d5c1dd9c522"},{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"41487d5d3bedb394a52dd9584df20cc67ec354af","unresolved":false,"context_lines":[{"line_number":57,"context_line":"manage dependencies, handle deployment artifacts, and ensure proper gate"},{"line_number":58,"context_line":"testing as OpenStack projects begin to land Go code into master."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. _Performance Team: https://wiki.openstack.org/wiki/Performance_Team"},{"line_number":61,"context_line":".. _OpenStack Specs: http://git.openstack.org/cgit/openstack/openstack-specs/"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_5dc0f72a","line":60,"updated":"2016-08-02 13:51:09.000000000","message":"Looks like there is an ice Mitaka roadmap here, and some items still \"In Progress.\" Is this team still active? I think if we reference a team like this in a resolution I\u0027d want the team to be active. The note about this team \"being a part of the Large Deployer Team\" [1] gives me some hope.\n\n[1] https://wiki.openstack.org/wiki/Large_Deployment_Team","commit_id":"d15952c3121aa316fa7b06a185390d5c1dd9c522"}]}
