Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Path to raku #89

Merged
merged 83 commits into from
Oct 14, 2019
Merged
Show file tree
Hide file tree
Changes from 67 commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
07c423e
Initial version of the name change PR
lizmat Aug 13, 2019
6b444bd
Remove mention of "Velvet Divorce"
lizmat Aug 14, 2019
0b5402e
The P and 6 in Camelia are not an issue, but a tribute
lizmat Aug 14, 2019
d71dc5c
s/.code/.raku/
lizmat Aug 14, 2019
bf7ab78
Mention what to do with IRC channels
lizmat Aug 14, 2019
e5c5d42
Mention channel forwarding
lizmat Aug 14, 2019
7d0aab8
"rakudo" should be the main executable
lizmat Aug 14, 2019
a79dde0
.pod6 to become .rd
lizmat Aug 14, 2019
1ee0908
Special attention to non-latin script countries
lizmat Aug 14, 2019
66daa4f
Open the door for .code
lizmat Aug 14, 2019
8d86f07
Mention versioning
lizmat Aug 14, 2019
3c0fee6
Compilers are free to handle optional nameds in 'unit'
lizmat Aug 14, 2019
7188f39
Handwave about support for other languages as a compunit
lizmat Aug 14, 2019
1c2ece9
Mention effects on event naming
lizmat Aug 14, 2019
e4461ed
Simplify versioning
AlexDaniel Aug 14, 2019
985934b
Move file to solutions/language
lizmat Aug 14, 2019
e35a5ac
Add mention about NQP (Not Quite Peanuts)
lizmat Aug 14, 2019
48793de
Add Not Quite Pottery as a backronym for NQP
lizmat Aug 14, 2019
084ca0a
Add section about books
lizmat Aug 15, 2019
31a0038
Refince external references section
lizmat Aug 16, 2019
92fd411
Open the door to a joint rename / next version event
lizmat Aug 16, 2019
cfd072d
Mention a "Raku Foundation" as part of YAS
lizmat Aug 16, 2019
c5cb2c9
Add mention of $*PERL and Perl class
lizmat Aug 18, 2019
04108b1
Remove suggestion of .code, go for .raku.
lizmat Aug 19, 2019
9301d09
Remove suggestion for new backcronym for NQP
lizmat Aug 19, 2019
b9c597b
Add mention of pragmas and other places needing adaptation.
lizmat Aug 20, 2019
87d4343
Separate next release from language release
lizmat Aug 20, 2019
535d778
Specify when "Perl 6" should be referenced
lizmat Aug 20, 2019
dd6054c
NQP stays Not Quit Perl
lizmat Aug 20, 2019
d14804e
Elaborate a bit about changing external references
lizmat Aug 20, 2019
ce377bd
Remove mention of marketing repo
lizmat Aug 20, 2019
2f5794b
Elaborated on special attention
lizmat Aug 20, 2019
1b89762
Elaborate on repo name changes and documentation changes
lizmat Aug 20, 2019
2b237b5
Elaborate on effects on running sub-projects
lizmat Aug 20, 2019
f3d057a
Elaborate a bit on community healing
lizmat Aug 20, 2019
6b00410
Add social media section
lizmat Aug 20, 2019
3118a7e
Add historical matters
lizmat Aug 20, 2019
531b628
Add initial version of SWOT analysis
lizmat Aug 21, 2019
15a8451
Simplify the Executables section
lizmat Aug 21, 2019
a1e9c80
Mention need for a META6.json file
lizmat Aug 21, 2019
25916df
More SWOTs
lizmat Aug 21, 2019
59d8608
Mention less confusion about name
lizmat Aug 21, 2019
2e477d6
Mention social media tagging
lizmat Aug 21, 2019
2c7aeaf
Add marketing opportunity
lizmat Aug 21, 2019
a264ae4
Add some more threats
lizmat Aug 21, 2019
62c083d
Add a strength and an opportunity
lizmat Aug 22, 2019
bcf6c87
Revert "Add a strength and an opportunity"
lizmat Aug 22, 2019
235ae7d
Mention potential drain from events
lizmat Aug 22, 2019
6af3f53
Remove Wikipedia / Rosettacode reference
lizmat Aug 24, 2019
115a260
Elaborate on IRC logging
lizmat Sep 3, 2019
dcd66a7
Suggest solution to .perl methods in non-core modules
lizmat Sep 3, 2019
0dc6534
Elaborate on $*RAKU and Raku class
lizmat Sep 3, 2019
6b2ddf8
Do **NOT** change "Perl5" where it's used
lizmat Sep 3, 2019
50f7697
Defer versioning discussion
lizmat Sep 3, 2019
998232a
Elaborate on tagging
lizmat Sep 3, 2019
50c14e2
Mention installers
lizmat Sep 3, 2019
24fddab
Introduce concept of a migration guide
lizmat Sep 3, 2019
5789db0
Migration guide for book authors
lizmat Sep 3, 2019
01efd7e
Follow suggestion on phrasing
lizmat Sep 3, 2019
813165e
More phrasing suggestions followed
lizmat Sep 3, 2019
3021673
Also mention "p6" in repo names
lizmat Sep 4, 2019
52b02f8
Tweak proposed language changes
jnthn Sep 10, 2019
b96dff1
Grammar tweak
jnthn Sep 10, 2019
749a9a2
Improve description of Windows file associations
jnthn Sep 10, 2019
7faff8b
Mention two env vars that include PERL6
jnthn Sep 10, 2019
9310222
Add a draft module author guide to the changes
jnthn Sep 10, 2019
9285582
Grammar tweak
jnthn Sep 10, 2019
90b8d0c
Rephrase the Social Media paragraph
lizmat Sep 13, 2019
43a1c6d
Move the extensions discussion to a separate issue / PR
lizmat Sep 13, 2019
6e7e625
Use the #rakulang hash tag, please
lizmat Sep 13, 2019
e0185a4
Settle on .raku / .rakumod / .rakudoc / .rakutest
lizmat Sep 21, 2019
9bcb834
Added "no longer linked to *good* reputation of Perl as weakness
lizmat Sep 21, 2019
69786a2
Fix typo
lizmat Sep 21, 2019
0de1d74
Clarify the situation with .t extension
vrurg Sep 26, 2019
dd8dcd5
Merge pull request #109 from vrurg/path-to-raku
lizmat Sep 26, 2019
dc7f451
Remove accidental markdown
AlexDaniel Sep 27, 2019
2d57afe
Replace the mention of “DarkPan”
AlexDaniel Sep 27, 2019
51890eb
Minor fixes
AlexDaniel Sep 27, 2019
4cad6d4
Expand a bit on .t support
AlexDaniel Sep 28, 2019
71e9405
Add some examples of filenames
AlexDaniel Sep 28, 2019
7257d5e
Mention that the chosen extensions are final
AlexDaniel Sep 28, 2019
e09f6c2
Add some basic reason why not use shorter extensions
AlexDaniel Sep 28, 2019
2d7b3f5
Be less specific about module loading
AlexDaniel Sep 28, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
348 changes: 348 additions & 0 deletions solutions/language/PATH-TO-RAKU.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,348 @@
# The Path to Raku

This document describes the steps to be taken to effectuate a rename of
lizmat marked this conversation as resolved.
Show resolved Hide resolved
`Perl 6` to `Raku`, as described in issue #81. It does not pretend to be
complete in scope or in time. To change a name of a project that has been
running for 19+ years will take time, a lot of effort and a lot of
cooperation. It will affect people in foreseen and unforeseen ways.

## Language changes

### .perl
lizmat marked this conversation as resolved.
Show resolved Hide resolved

The `.perl` method should be deprecated in 6.f, and removed in 6.g. It
should be replaced by a `.raku` method, which will be specified in 6.e
(Rakudo can provide for it as soon as implemented). This could be
implemented by a global search/replace of `.perl` to `.raku` (both in
method names and in calls) in `src/core`, `src/Perl6` and `lib`. A new
`Mu.perl` method should be added that will later come to issue a
DEPRECATED message, and then delegate to `.raku`.

To retain compatibility with modules that declare a method `perl`, the
default `raku` method should check if the type in question has a
non-default `perl` method (that is, not the one from `Mu`) and, if so,
call it. Once `.perl` is deprecated, it should issue the deprecation
warning also.

Renaming to `.code` currently clashes with `CallFrame.code`, visually clashes
with the `.codes` method, and it being a generic name, probably also clashes
with CPAN and DarkPan Perl 6 modules.

### Perl and $*PERL

`$*RAKU` and the `Raku` class will be the replacement of `$*PERL` and the
`Perl` class, which initially will just be aliases. At a language boundary
switch, they will become actual type declarations.

### `PERL6LIB`
lizmat marked this conversation as resolved.
Show resolved Hide resolved

A `RAKULIB` environment variable will be introduced into a Rakudo release,
and specified as part of 6.e. If found in the environment, it will be used in
favor of `PERL6LIB`. From 6.f, use of `PERL6LIB` will issue a deprecation
warning.

### `PERL6_HOME`

This was only very recently introduced, and is likely not in wide use yet.
We could consider immediately replacing it with `RAKU_HOME` in an upcoming
Rakudo release, perhaps with a short-term fallback/warning - or error - if
it's missing, but `PERL6_HOME` is found.

### Pragmas

The `use isms <Perl5>` should **NOT** be changed to `use isms <Perl>`.
Similarly `use Foo:from<Perl5>` and the `:lang` parameter to `EVAL` should
not be changed as to allow more flexibility should the Perl 5 community
decide on a name change as well.

lizmat marked this conversation as resolved.
Show resolved Hide resolved
### Versioning

Because the next language release (6.e) may not coincide with
the rename, no changes to versioning of the language need to be done. The
next release *will* however be a Raku release, but should be otherwise
completely compatible with previous releases.

A new *language* version would be the opportunity to make the name change
more widely known with associated marketing efforts. But this will *not*
be with the next (monthlyish) release.
lizmat marked this conversation as resolved.
Show resolved Hide resolved

Given we are no longer forced to have "6" in the version, there are now
more options to do language versioning properly, and this aspect will
need to be discussed separately at a later time.

### NQP

The acronym for NQP is Not Quite Perl. It stays that way, so no changes
to documentation are needed. Generally, the MoarVM / NQP construct should
not matter a lot for the average user.

## Documentation changes

Wherever `Perl 6` is mentioned in the documentation, this should be changed
lizmat marked this conversation as resolved.
Show resolved Hide resolved
to `Raku`. A mention of `Perl 6` in the glossary should remain, and maybe
in the documentation of the `.perl` (to be renamed to `.raku`) method.

A mention to `Perl 6` should only occur when a redirect from `docs.perl6.org`
has been detected / or a special URL to redirect to has been followed (e.g.
https://documentation.raku-lang.org/?from=perl6).

JJ marked this conversation as resolved.
Show resolved Hide resolved
## Website changes

Websites that have `perl6` in their name, should redirect to their
equivalent with a 301 (Moved Permanently). Some way should be devised that
if someone is redirected, that a small explanation of the name change is
offered and that the visitor is indeed at the place they were planning to
be.

## IRC Channels

The IRC channels used by Perl 6 users on freenode (#perl6\*) will need to
be renamed or closed / opened with the new name (#raku\*). New joins should
be forwarded to the new channels.

Colabti.org will need to be asked to log these channels, so that we can have
lizmat marked this conversation as resolved.
Show resolved Hide resolved
backlog again. Unfortunately, it appears to be too difficult to migrate #perl6
logs, so the same approach that was done when the #perl6-dev channel was
created, will need to be followed. So searching the logs will need to be
done on the old names.

Further down the road, it would probably be a wise idea to make IRC channel
logging one of the infrastructure tasks.

## External references

Many places on the Internet refer to `Perl 6`. These references will need
to be changed to `Raku`, with a small explanation of the name change. This
should be a coordinated effort to avoid duplicity of work, and to make sure
that the explanation of the name change is consistent.

Many sites, such as Reddit and StackOverflow, use implicit / explicit `perl6`
tags. These will need to be changed or have a `raku` tag added, possibly
with cooperation of the administrators. It should be prevented that "Perl 6"
all of a sudden becomes hard to find on these sites.

Sites such as PerlMonks appear to be really `Perl` (aka `Perl 5`) focused,
and could possible make that clear in their description, or change their
description to specifically include `Raku`. It would look like the
`/r/perl` Reddit description can be changed to indicate that only `Perl 5`
questions are on topic there.

## Technical changes

All technical changes should make sure that all existing scripts continue
to work without change in the foreseeable future. Additional DEPRECATED
messages will be introduced at point of a 6.e language change.

### Executables

As some packagers have already done, the executable should be called `rakudo`,
since `rakudo` is the name of the implementation. `raku` and `perl6` should
be symlinks. If at all technically possible, running a script using the
`perl6` as the executor should provide a DEPRECATED warning at some point.

### Extensions

The extension `.rk` for scripts, `.rkm` for modules, and `.rd` for
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the light of extension discussion, can we add one last thing here: .rkt for test files. This would resolve conflicts with perl5 support in IDEs like Atom and intelliJ.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See #101 (comment).

My understanding is that we should keep using .t, and encourage people to put the right shebang (one that has raku in it).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shebang won't help those poor things which solely rely on file extensions. For example, I'm currently bound to Atom. Kind of. Because when I need to edit Perl5 code I use Vim because Atom can only work with either perl5 or perl6 module but no both at the same time. The reason? Both claim for .t extension.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@vrurg seems like something specific to atom that is fixable, see https://discuss.atom.io/t/can-atom-interpret-my-bin-bash-shebang/47234.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AlexDaniel the point is that only one of perl5 or perl6 package can be active at any given moment, not both of them. So, there is no use for detecting shebang if there is no language to bind to.

Besides, intelliJ doesn't allow file type switching whatsoever. So, you either see .t as perl5 or perl6. Always. Because we said so!

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with some others that the filenames should not be part of this pull request, and are better left to another place, where we can have a nice listing of possibilities and decide which out of those we think work best. Or this could be changed to just be suggestions for filenames.

lizmat marked this conversation as resolved.
Show resolved Hide resolved
documentation (POD6) will become the defacto standards for files containing
`Raku` code or documentation. The old `.pm`, `.pm6` and `.pod6` extensions
will continue to be supported for 6.e. In 6.f, the `.pm`, `.pm6` and `.pod6`
extensions should be marked as DEPRECATED, causing a message to be generated
JJ marked this conversation as resolved.
Show resolved Hide resolved
when the module is loaded.

On Windows, installers should add a `.rk` association alongside the `.p6`
association for the time being. Around the time of 6.f, a `.p6` association
could be deselected by default, and perhaps dropped entirely by 6.g.

### Testing

Roast continues to be the specification of the language. Only the name
of the language it specifies, changes. Internal references to `Perl 6`
will need to be changed.

## Mascot

Camelia will remain the mascot. The only thing that should change there
is that it is the mascot of `Raku` rather than `Perl 6`. The fact that the
wings contain a "P" and a "6" is obscure enough to not be an issue, and could
be seen as a lasting tribute (easter egg) to the origin of "Raku".

## Marketing changes

Renaming `Perl 6` to `Raku` is an event that should be used to get maximum
marketing result. This will need `Raku` marketing materials. Announcement
should be coordinated, e.g. by a blog post on `opensource.com` or similar
outlets, followed up by links on the various social media outlets, such as
Twitter, Facebook, Hacker News, Reddit, etc.

Specific attention should be given for the announcement of Raku in non-latin
lizmat marked this conversation as resolved.
Show resolved Hide resolved
script countries (such as India, Japan, China, Taiwan) by making sure any
announcements are also translated into appropriate languages for these regions.
Raku, with its more than excellent Unicode support, should be able to make a
big splash for developers in those regions.

## Social Media

Users who want to blog about `Raku` are suggested to always at least mention
`Raku Programming Language` in their blog post, or in the boilerplate of their
blog posts. Mentioning of `Perl 6` in such blog posts is **discouraged**,
lizmat marked this conversation as resolved.
Show resolved Hide resolved
lizmat marked this conversation as resolved.
Show resolved Hide resolved
unless the blog post is actually about the renaming process or historical
matters.

When using social media that use hash-tags, users are suggested to use the
`#raku-lang` hash-tag, and **not** use the `#perl6` hash-tag, unless the
lizmat marked this conversation as resolved.
Show resolved Hide resolved
post is actually about the renaming process or historical matters.

Of course, the same applies to more official social media usage by the core
development team.

## Ecosystem changes

From the standpoint of users, there should not be any change: `zef` should
continue to do what it does. The information about what is in the ecosystem,
is not related to the "perl 6" name at the moment, so does not need any
change either.

On PAUSE, Perl 6 distributions are automatically uploaded to a "Perl6"
subdirectory, but this is completely transparent to both the author as well
as anything else that needs to look at that as long as a file `META6.json`
exists in the distribution. So for the foreseeable future, no changes will
be needed there.

Should PAUSE decide to no longer support `Raku` modules in its system, then
alternatives will need to be found and/or implemented.

## Effects on modules in ecosystem

A guide for existing module developers will be provided, which will offer
suggestions of what to do about the rename. If we can generate PRs that's
perhaps also helpful, though we might want that to be opt-in: authors with
a load of modules might be unpleasantly surprised to wake up one morning
to an inbox full of PRs.

Such a guide should help authors with modules that either mention "perl6"
or "p6" in their repo name, or mention "Perl 6" in their documentation.

A proposed draft of such a guide is included at the end of this document.

## Effects on running sub-projects

Projects, such as Comma and Cro do not need any notifications, but other
lizmat marked this conversation as resolved.
Show resolved Hide resolved
sub-projects may need to get advance notice. An inventory of these
sub-projects will need to be made, and their maintainers be notified
individually, rather than through social media. This is both to stress
the urgency for a change, and to be able to present a "clean slate" to the
general public when announcements about the name change *are* made through
social media.
lizmat marked this conversation as resolved.
Show resolved Hide resolved

## Effects on books

Currently printed copies of books will probably need a sticker like "Covers
the new exciting Raku programming language).

Perl 6 books that have been open sourced, can be adapted by the community or
the original author: a "Migration Guide for Book Authors" should help authors
with this. Since ebook sales currently outperform printed books by an order
of magnitude, preparing another version of an ebook should be a relatively
small effort, which can actually be distributed among many individuals using
modern source control techniques.

## Effects on the Perl community

There is a (small) part of the Perl community that welcome the rename, as they
don't want anything to do with the language and are glad to disassociate it
from the Perl name. There are community members with an active interest in
both Perl 5 and Raku, and some of those who only do one or the other still
feel there is much to be learned from, and shared with, each other, especially
given the many shared design values of the languages.

The name change of `Perl 6` to `Raku` is also intended to have a healing
effect on a community that has been effectively split for many years.
It is the hope of the Raku core development team that future events will
continue to cater for both `Perl` as well as `Raku` presentations.

## Effects on user groups

Each Perl user group (Perl Monger group) will have to decide for themselves
what they want to do with this new situation. More active groups in the
past years, have started using the services of online meeting organizers
such as MeetUp. To indicate the changed situation, it may be a good idea
to change the names of such groups, e.g. from "Foo Perl Mongers Meeting" to
"Foo Perl Family Meetup" or "Foo Perl Community Meetup". Should a user
group decide to only focus on `Perl 5` or `Raku` only, then they are of
course open to not change their name, or to change it to something like
"Foo Raku Meetup". This could coincide with the official announcement,
and maybe special events to celebrate the name change.

## Effects on events

Event organizers are, as always, completely free in the naming of their events.
If an event would like to cater for both `Perl` and `Raku` attendees, then
this should be reflected in the name of the event. An event with just `Raku`
in its name, would appear to cater only for attendees interested in `Raku`.
An event with just `Perl` in its name, would appear to cater for attendees
interested in `Perl 5` only. Suggestions for naming events are (where "Foo"
is a place / country name):

The Foo Perl Community Workshop
The Foo Perl Family Workshop
The Foo Perl and Friends Workshop
The Foo Perl and Raku Conference
The Foo Raku and Friends Workshop

etc. etc.

## Relationship with The Perl Foundation

No changes should be necessary with regards to the relationship with The
Perl Foundation. But this is mostly up to The Perl Foundation. A suggestion
would be to make the website of The Perl Foundation more general: a Perl
Family. With equal attention for Perl, Raku, RPerl and CPerl, and emphasis
on continued development on all projects.

Should The Perl Foundation decide to not want to have anything to do with
`Raku`, only then should an alternate organisational support be discussed.

However, since "Yet Another Society" is doing business as "The Perl
Foundation", maybe it is an idea to create another "doing business as"
called "The Raku Foundation". Which would make it clear that "The Perl
Foundation" is for Perl 5 only, whereas "The Raku Foundation" would be for
Raku only. While both are part of the Perl Mindset in the "Yet Another
Society".
lizmat marked this conversation as resolved.
Show resolved Hide resolved

## Draft guide for module developers

The Raku team are grateful to all those who have developed modules for the
language. We recognize that most contributors are doing so on a volunteer
basis, and that this work is often done in one's (lack of) free time.

This guide provides some suggestions on how module authors can handle the
Perl 6 to Raku renaming. While there is a suggested timeline here, it is
to be interpreted as "at your convenience", rather than an expectation to
do these things quickly.

### In the period immediately after the rename is agreed...

You might consider:

* Mentioning Raku in your module's README or other documentation. It's up to
you if you wish to have something like "Raku (formerly Perl 6)", to stay
findable for such searches for some time, or to simply adopt the Raku name
right away.
* Renaming the GitHub repository if it contains `p6` or `perl6` (remember to
update the `sources` entry in `META6.json` if doing this).

In this interest of your module continuing to work with existing Rakudo
installations, please *do not*, at this point:

* Change module file extensions away from `.pm6`
* Rely on `.raku`, `Raku`, `$*RAKU`, and similar

### Around the release of 6.e...

This is expected to happen in 2020. At this point, you might consider:

* Changing module file extensions (remembering to update `META6.json`)
* Switching to use `.raku`, `Raku`, `$*RAKU`, and similar in the module's
code (most modules will not be doing this anyway)
* Dropping remaining mentions of Perl 6 in the documentation, unless it is
there for historical interest
48 changes: 48 additions & 0 deletions solutions/language/SWOT-TO-RAKU.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# SWOT analysis of renaming Perl 6 to Raku

## Strengths

- removes the confusion that Perl 6 is Perl version 6 (a new version of Perl).
- frees up higher versioning of "Perl"
- no longer linked to bad reputation of "Perl"
- removes source of Perl community stress
- is a cool name that should appeal to younger people
- name should better appeal to non-english native speakers
- should be easier to get distinctive TIOBE rating

## Weaknesses

lizmat marked this conversation as resolved.
Show resolved Hide resolved
- will *still* be linked to "Perl" because of historical connection
- Perl 6 books will not know of name change, and thus continue to "squat"
- Perl 6 blog posts will not know of name change, and thus continue to "squat"
- may be hard to find using search engines, at least initially
- must start with TIOBE rating from scratch
- in social media, #raku as a tag is overloaded with Japanese pottery meaning

## Opportunities

- could be considered a brand new language, and thus more interesting to some
- should re-invigorate development
- should re-invigorate marketing
- with better branding, should be able to get easier sponsorships / grants
- may get core developers who have left, back into the core team
- could be marketed as a programming language without corporate backing, and thus free from corporate influencing / agenda
- could be marketed on its own, with its own strengths, such as multi-paradigmity and concurrency, as well as coverage of the Unicode standard
- could be marketed as the 100-year language properly
- current Perl 6 books could be updated while changing the name
- current Perl 6 blog posts could be better marked with TIOBE tag (as they presently are not tagged correctly in general)
- reworked documentation could have *all* pages properly TIOBE tagged
- in social media, use new, distinctive #rakulang tag

## Threats

- may lose current users
- may lose current core developers
- may lose current book writers
- may lose support from local Perl user groups (PerlMongers)
- may lose support of organizations such as The Perl Foundation, EPO, YEF
- may be made fun of as the language that cannot make up its mind
- may cause incompatibities / breakage that will reflect badly on overall image
- could drain critical mass from Perl 5 events
- could drain critical mass from Raku events
- may not get enough traction to grow anyway