Hi all,

You might want to settle down with a glass of eggnog to read this, it's a long 
one.

Myself and Haris Amin (CC'd), as you may know, have been building a community 
of users who want to use Swift inside Docker containers 
(https://github.com/swiftdocker/docker-swift) and maintain an image, 
swiftdocker/swift, that provides a complete Swift installation that is usable 
for all kinds of applications, from trying a Linux REPL to running a webserver 
(I've already deployed one).

We've been contacted by a content evangelist at Docker who would like to offer 
an "official" Docker image that contains Swift. You can read more about 
official Docker images here: 
https://docs.docker.com/docker-hub/official_repos/. Note that these are 
official in Docker Inc.'s view: they don't necessarily exist as officially 
supported by, for instance, PyPy developers, but they are a great starting 
point and exhibit best practices. Docker is interested in having Haris and I 
maintain the image we have been building as the official repository. There's a 
lot of benefits to having an official Docker image, namely enhanced security, 
scrutiny, support, and a spotlight on a great new language that can drive 
adoption.

Haris and I are incredibly thankful for the hard work Swift's core team have 
put into the open sourcing of the language and in that spirit we are very 
reluctant to proceed without the core team's blessing. The important thing to 
note is that this endeavour would involve little to no work on the core team's 
side, except perhaps a note on the Downloads page saying that this is a 
community supported project and not one officially supported by the core team.

This brings to a head something that's been rumbling for a while: how exactly 
does the Swift Project "bless" alternative distributions or platforms? For 
instance, the recent work on compiling to ARM for the Raspberry Pi is a worthy 
project, notably for the Pi's adoption in educational environments. BSD systems 
are another area of great interest. Furthermore, I doubt it will be long before 
someone wants to provide a Swift package through apt-get, homebrew etc. While 
those contributors may have less qualms about wanting the Swift team's 
blessing, it makes sense that there is some degree of centrality to ensure 
people do not work independently towards the same goal for a particular 
platform.

For the matter at hand, Haris and I would like to at the least hear "go for it" 
from the core team; better yet, we'd love to have anyone from the core 
team/Apple who is interested in Docker/the build infrastructure to join Haris, 
Docker and I in creating this official repo, and serving as a representative of 
Apple's interests in this area.

For the larger matter, it seems to me that the Swift Project can take a few 
directions:
1. "Knock yourselves out, but we're just making the language." In this 
direction, the Swift Project would disclaim official support or blessing of 
anything that doesn't come out of it. Occupation of a top level namespace or 
being the "official" Swift for a platform would be something for the community 
to sort out independently with the platform vendor.
2. "Knock yourselves out, here's a list of all the current efforts that we 
think you might be interested in"
Not so much as blessing, still disclaiming support, but at the least 
acknowledging the ecosystem around Swift for other platforms besides OS X and 
the two Ubuntus.
3. Blessing: in this direction, which I think a lot of people would like and I 
would prefer, the Swift project gives its blessing to projects, and links to 
them on its website. This has the benefit of centralising development efforts 
and providing an easy springboard for those who are interested in Swift and are 
checking the website.
4. Official support: in this direction, when a project meets a certain 
criteria, it is folded into the main Swift project, given a repo on GitHub etc. 
This would probably not occur for quite a while yet, but as continuous 
integration improves for Swift it could make sense that the docker image might 
be something that is actively supported in the development of Swift if it is 
sufficiently popular.

I'd like to hear back from the core team about this instance of the Docker 
issue, but I'd also like to start a conversation about community platform 
support and how centralising issues like this one can be handled in future.

Best wishes for the new year,

Thomas Catterall


Sent from my iPhone
_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev

Reply via email to