1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
|
WEBVTT
00:01.280 --> 00:02.800
Hi everyone! I'm very excited
00:02.800 --> 00:05.200
to be here at EmacsConf 2021 today
00:05.200 --> 00:06.640
to give my talk called
00:06.640 --> 00:09.360
"M-x Forever: How Emacs Will Outlast
00:09.360 --> 00:11.519
Text Editor Trends."
00:11.519 --> 00:13.759
So let's start with the conclusion first.
00:13.759 --> 00:15.040
I know, it's a little bit unorthodox,
00:15.040 --> 00:16.960
but let's just try and see what happens.
00:16.960 --> 00:18.400
So no matter what happens
00:18.400 --> 00:19.760
in the wider software world,
00:19.760 --> 00:21.520
GNU Emacs will continue to be
00:21.520 --> 00:22.640
a beloved program
00:22.640 --> 00:24.080
with a dedicated community
00:24.080 --> 00:25.199
and a healthy team
00:25.199 --> 00:00:28.079
of maintainers and contributors.
00:28.080 --> 00:29.439
You're probably wondering
00:29.439 --> 00:31.141
who am I to be making such a claim,
00:31.141 --> 00:32.640
so I'll tell you.
00:32.640 --> 00:34.640
I am David Wilson, the creator of the
00:34.640 --> 00:36.000
System Crafters YouTube channel
00:36.000 --> 00:38.079
and community. If you want to see
00:38.079 --> 00:39.040
a lot of really great videos
00:39.040 --> 00:41.280
about GNU Emacs, GNU Guix, etc.,
00:41.280 --> 00:42.719
come check out my YouTube channel.
00:42.719 --> 00:44.480
I'm also on LBRY and Odysee
00:44.480 --> 00:46.399
if you don't want to go use YouTubea
00:46.399 --> 00:47.360
And also, if you're the type of person
00:47.360 --> 00:48.399
who doesn't want to use
00:48.399 --> 00:49.680
any of these websites
00:49.680 --> 00:51.039
and you want to see my videos anyway,
00:51.039 --> 00:52.160
please just send me an email
00:52.160 --> 00:53.280
at the email address below
00:53.280 --> 00:54.079
and I'll see if I can set you up
00:54.079 --> 00:55.520
with that. You can also check out
00:55.520 --> 00:58.160
my website and the places where we chat,
00:58.160 --> 00:59.440
especially on libera.chat
00:59.440 --> 01:01.440
at the #systemcrafters channel.
01:01.440 --> 01:02.719
If you have any thoughts
01:02.719 --> 01:03.600
after seeing this talk,
01:03.600 --> 01:04.799
please feel free to send me an email
01:04.799 --> 00:01:07.199
or find me on chat.
01:07.200 --> 01:09.920
So there is a recurring concern
01:09.920 --> 01:11.119
in the Emacs community
01:11.119 --> 01:12.799
about its popularity.
01:12.799 --> 01:14.320
This is something that keeps coming back
01:14.320 --> 01:16.479
time and time again. You probably see it
01:16.479 --> 01:18.640
every year or two where people on Reddit
01:18.640 --> 01:19.840
or maybe on the emacs-devel
01:19.840 --> 01:21.600
mailing list are talking about ways
01:21.600 --> 01:24.000
to increase Emacs popularity.
01:24.000 --> 01:25.600
More recently, there was a discussion
01:25.600 --> 01:27.600
on Hacker News where somebody posted
01:27.600 --> 01:28.159
a link to this
01:28.159 --> 01:31.360
Making Emacs Popular Again blog post
01:31.360 --> 01:32.479
which does chronicle some of the
01:32.479 --> 01:34.479
more recent discussions on emacs-devel
01:34.479 --> 01:35.840
about things that could be done
01:35.840 --> 01:38.479
to make Emacs a more popular editor.
01:38.479 --> 01:40.079
So the title of my talk claims
01:40.079 --> 01:41.280
that Emacs is going to
01:41.280 --> 01:43.759
outlast text editor trends.
01:43.759 --> 01:45.840
So to elaborate on this claim,
01:45.840 --> 01:46.799
we're going to try to answer
01:46.799 --> 01:48.720
a few specific questions.
01:48.720 --> 01:51.200
First of all, what is popularity
01:51.200 --> 01:53.280
and how do you even measure it?
01:53.280 --> 01:54.240
If people are saying
01:54.240 --> 01:55.920
that Emacs needs to be more popular,
01:55.920 --> 01:57.040
then what do we really mean
01:57.040 --> 01:59.040
by popularity?
01:59.040 --> 02:00.159
Also, what are the benefits
02:00.159 --> 02:01.920
of popularity? If emacs did somehow
02:01.920 --> 02:03.920
become more popular, what benefits
02:03.920 --> 02:05.680
would it receive from that?
02:05.680 --> 02:07.439
And also, how does an editor
02:07.439 --> 02:08.720
lose popularity, and what are
02:08.720 --> 02:11.120
the possible consequences to that?
02:11.120 --> 02:12.480
And then what are the unique factors
02:12.480 --> 02:13.680
about Emacs that will ensure
02:13.680 --> 02:16.000
that it survives long term?
02:16.000 --> 02:17.520
What is special about Emacs
02:17.520 --> 02:19.440
that will help it to thrive
02:19.440 --> 02:21.920
despite whatever happens in the
02:21.920 --> 02:24.560
popular sphere of text editors and
02:24.560 --> 00:02:26.958
programming languages, etc.?
02:26.959 --> 02:28.800
So, first of all, what does popularity
02:28.800 --> 02:30.720
really mean? When someone says
02:30.720 --> 02:32.400
that Emacs needs to become more popular,
02:32.400 --> 02:33.680
what are they really saying
02:33.680 --> 02:35.840
is that there needs to be more users,
02:35.840 --> 02:37.102
and that they stick around.
02:37.102 --> 02:38.800
Like, they learn how to use Emacs
02:38.800 --> 02:41.680
and they continue to be users.
02:41.680 --> 02:42.800
If we did get those new users,
02:42.800 --> 02:45.599
what would it actually do for Emacs?
02:45.599 --> 02:47.440
Also, is it that there are
02:47.440 --> 02:48.959
more community members that are
02:48.959 --> 02:51.040
creating new packages?
02:51.040 --> 02:52.480
You know, that sort of assumes
02:52.480 --> 02:53.519
that the editor itself
02:53.519 --> 02:54.720
doesn't have enough packages,
02:54.720 --> 02:55.519
or that the only way
02:55.519 --> 02:57.120
that the an editor stays alive
02:57.120 --> 02:58.800
is for there to be constant churn,
02:58.800 --> 03:01.440
with new packages coming around.
03:01.440 --> 03:03.120
Is it that there is more content
03:03.120 --> 03:04.319
being created by users,
03:04.319 --> 03:05.840
like more blog posts being written,
03:05.840 --> 03:07.920
more YouTube videos being made,
03:07.920 --> 03:09.360
more other ways that people are
03:09.360 --> 03:11.599
evangelizing the use of Emacs
03:11.599 --> 03:14.720
and also teaching people how to use it?
03:14.720 --> 03:16.080
Also, is it that
03:16.080 --> 03:18.720
more long-term stability is had
03:18.720 --> 03:20.159
in the editor, and more core
03:20.159 --> 03:21.280
improvements that are being made
03:21.280 --> 03:22.879
over time? I mean, I guess you could say
03:22.879 --> 03:23.760
that it does make sense
03:23.760 --> 03:25.680
that if the editor is more popular,
03:25.680 --> 03:26.959
then people will be more invested
03:26.959 --> 03:28.080
in improving it, and there will be
03:28.080 --> 03:30.000
more new contributors coming in,
03:30.000 --> 03:32.480
but is greater and greater popularity
03:32.480 --> 03:33.280
really what's needed
03:33.280 --> 03:35.280
to ensure that this happens?
03:35.280 --> 03:37.040
Also, it could just be that
03:37.040 --> 03:38.080
there's more validation
03:38.080 --> 03:40.480
for someone's personal choices.
03:40.480 --> 03:42.159
You know, people tend to use
03:42.159 --> 03:43.760
these software choices they use
03:43.760 --> 03:44.799
as part of their identity.
03:44.799 --> 03:46.000
So is it that they want Emacs
03:46.000 --> 03:46.799
to be more popular
03:46.799 --> 03:48.319
so that they can finally say,
03:48.319 --> 03:49.440
"I'm an Emacs user,"
03:49.440 --> 03:50.080
and have people think
03:50.080 --> 03:51.840
that they're cool or "hip" or whatever?
03:51.840 --> 03:52.720
I hope that... Hopefully,
03:52.720 --> 03:53.370
that's not the case.
03:53.370 --> 03:54.239
Hopefully, it's one of these
03:54.239 --> 03:56.000
other points. But it could be something
03:56.000 --> 03:57.120
because, as we see, you know,
03:57.120 --> 03:59.439
there's a lot of trends and fashion
03:59.439 --> 04:00.879
when it comes to software development
04:00.879 --> 04:02.640
and also free software
04:02.640 --> 04:04.159
and open source tools.
04:04.159 --> 04:05.840
So as we go through this talk,
04:05.840 --> 04:07.200
keep these questions in mind
04:07.200 --> 04:07.760
as we talk about
04:07.760 --> 04:09.680
some of the finer points on all of this,
04:09.680 --> 04:11.280
and see whether you think
04:11.280 --> 04:13.680
that popularity really correlates
04:13.680 --> 00:04:15.679
with these things.
04:15.680 --> 04:17.919
So first of all, how do we measure
04:17.919 --> 04:20.720
popularity? What information do we have
04:20.720 --> 04:21.600
to actually determine
04:21.600 --> 04:23.360
which editors are popular,
04:23.360 --> 04:25.199
and whether they're gaining or losing
04:25.199 --> 04:26.880
popularity? So I've got a few,
04:26.880 --> 04:27.759
or a couple places here
04:27.759 --> 04:29.120
that we can look at
04:29.120 --> 04:30.560
to judge the popularity
04:30.560 --> 00:04:32.399
of various editors.
04:32.400 --> 04:33.840
First of all, Google Trends.
04:33.840 --> 04:35.199
Google actually gives us the ability
04:35.199 --> 04:37.199
to track and compare search volume
04:37.199 --> 04:39.040
for particular terms and topics
04:39.040 --> 04:41.759
over time. So if you wanted to know
04:41.759 --> 04:43.040
how often someone was searching
04:43.040 --> 04:44.800
about Emacs, maybe to try to find help
04:44.800 --> 04:46.479
for something, or look for documentation,
04:46.479 --> 04:48.800
or maybe look for blog posts, etc.,
04:48.800 --> 04:49.919
you can look at Google Trends
04:49.919 --> 04:51.600
to see how often people are searching
04:51.600 --> 04:53.440
for Emacs over time.
04:53.440 --> 04:55.199
One useful ability is that we can
04:55.199 --> 04:57.360
compare how much people are searching
04:57.360 --> 04:58.720
across various different topics
04:58.720 --> 05:00.000
and see a graph, which is
05:00.000 --> 05:01.680
what i'm going to show you right now.
05:01.680 --> 05:04.000
This graph shows you the search volume
05:04.000 --> 05:06.320
for Emacs compared to Vim, Atom,
05:06.320 --> 05:08.800
Sublime Text, and Visual Studio Code
05:08.800 --> 05:11.120
from 2004 to the present
05:11.120 --> 05:12.880
worldwide, so all across the world
05:12.880 --> 05:14.479
where searches are happening.
05:14.479 --> 05:16.240
You can see that in 2004,
05:16.240 --> 05:18.479
Emacs is the reigning king supreme
05:18.479 --> 05:21.039
where you have the most search terms
05:21.039 --> 05:22.720
or searches happening on emacs
05:22.720 --> 05:25.199
at that time. Also, Vim is quite high
05:25.199 --> 05:26.960
on this list as well.
05:26.960 --> 05:28.560
Let's see. Sublime Text is a bit lower
05:28.560 --> 05:31.120
in the list, but it's in third place.
05:31.120 --> 05:32.080
Nope. Yep. That's right.
05:32.080 --> 05:34.880
Then atom is quite low, but I think that
05:34.880 --> 05:36.320
Atom didn't exist yet,
05:36.320 --> 05:37.759
so maybe at that point, you know,
05:37.759 --> 05:39.120
this is probably something else.
05:39.120 --> 05:41.360
Google is just getting random data.
05:41.360 --> 05:42.880
And then Visual Studio Code
05:42.880 --> 05:43.919
also didn't exist,
05:43.919 --> 05:45.039
so probably this is like
05:45.039 --> 05:46.479
Visual Studio searches,
05:46.479 --> 05:48.000
but then as you go across the years,
05:48.000 --> 05:48.960
you see that gradually,
05:48.960 --> 05:52.160
Emacs popularity appears to be declining.
05:52.160 --> 05:54.639
As does Vim, but not quite so much.
05:54.639 --> 05:56.560
And then over time, Sublime Text
05:56.560 --> 05:57.520
becomes more popular,
05:57.520 --> 05:59.280
and then VS Code in more recent years
05:59.280 --> 06:00.319
becomes very popular
06:00.319 --> 06:02.400
compared to everything else.
06:02.400 --> 06:04.479
So it looks like Emacs
06:04.479 --> 06:06.960
has declined significantly in popularity,
06:06.960 --> 06:09.600
while the other editors have taken over.
06:09.600 --> 06:11.360
But is the search volume really
06:11.360 --> 06:12.800
the only important factor
06:12.800 --> 06:14.800
that indicates popularity or health
06:14.800 --> 06:16.080
of a given editor?
06:16.080 --> 00:06:18.318
That still remains to be seen.
06:18.319 --> 06:19.680
We can also take a look
06:19.680 --> 06:22.400
at the yearly survey
06:22.400 --> 06:24.602
that the website Stack Overflow puts out
06:24.602 --> 06:26.533
asking developers about the tools
06:26.533 --> 06:27.360
that they use to find out
06:27.360 --> 06:28.720
which ones are being used
06:28.720 --> 06:29.759
most frequently and that are
06:29.759 --> 06:31.919
gaining popularity over time.
06:31.919 --> 06:33.680
So there is a great blog post
06:33.680 --> 06:35.039
by someone named Roben Kleene,
06:35.039 --> 06:37.039
who synthesizes some
06:37.039 --> 06:37.840
of this data together,
06:37.840 --> 06:39.120
specifically about editors,
06:39.120 --> 06:40.240
and provides us with a graph
06:40.240 --> 06:41.680
that we can take a look at
06:41.680 --> 06:43.440
that compares the popularity
06:43.440 --> 06:44.639
of particular editors
06:44.639 --> 06:46.560
in the last maybe four or five years,
06:46.560 --> 06:49.199
at least 2015 to 2019,
06:49.199 --> 06:50.560
based on the responses
06:50.560 --> 06:52.560
to the Stack Overflow survey.
06:52.560 --> 06:54.479
In this case we see that
06:54.479 --> 06:56.560
Emacs is the light blue line,
06:56.560 --> 06:59.440
and it sort of stays in maybe, let's see,
06:59.440 --> 07:00.960
maybe third place in the beginning,
07:00.960 --> 07:02.000
and then fifth place,
07:02.000 --> 07:03.520
and basically just stays in fifth place
07:03.520 --> 07:05.039
the whole time, compared to things like
07:05.039 --> 07:07.120
Atom, Sublime Text, and VS Code.
07:07.120 --> 07:08.560
As we saw before, the VS Code
07:08.560 --> 07:10.960
just sort of ramps up at the end.
07:10.960 --> 07:13.199
Now, this is another thing
07:13.199 --> 07:14.560
that basically is showing us
07:14.560 --> 07:17.039
similarly to the Google Trends
07:17.039 --> 07:19.280
that Emacs's popularity is not quite
07:19.280 --> 07:21.840
as much as other editors out there.
07:21.840 --> 07:23.840
You can also look at the 2021 results
07:23.840 --> 07:26.160
of the Stack Overflow survey,
07:26.160 --> 07:27.199
which I'll show you now,
07:27.199 --> 07:30.319
which shows Emacs in 16th place.
07:30.319 --> 07:31.680
Let's see. If we look here,
07:31.680 --> 07:32.960
we see Visual Studio Code
07:32.960 --> 07:34.400
is the most popular, then we have
07:34.400 --> 07:36.800
a whole bunch of other well-known editors.
07:36.800 --> 07:37.840
Some are kind of surprising,
07:37.840 --> 07:40.400
like Notepad++ is quite high up there,
07:40.400 --> 07:42.080
but then we have Emacs here
07:42.080 --> 07:43.199
coming right in behind
07:43.199 --> 07:44.879
PhpStorm and NetBeans,
07:44.879 --> 07:46.400
which is pretty funny to me.
07:46.400 --> 07:48.879
But it just goes to show you
07:48.879 --> 07:54.000
that the Emacs community is smaller
07:54.000 --> 07:55.599
than what you might consider
07:55.599 --> 07:56.960
for other editors, or at least
07:56.960 --> 07:58.800
the Emacs user base, maybe.
07:58.800 --> 07:59.440
Maybe it's just the people
07:59.440 --> 08:00.800
who actually respond to the survey.
08:00.800 --> 08:02.080
You can't really tell for sure
08:02.080 --> 08:03.759
because all this data is coming from
08:03.759 --> 08:05.039
a self-selected group of people
08:05.039 --> 08:06.720
who have responded to the survey.
08:06.720 --> 08:08.879
So I think what... Basically,
08:08.879 --> 08:10.560
what I'm trying to say is that
08:10.560 --> 08:12.080
if you look at all these things,
08:12.080 --> 08:14.080
you would probably get the perception
08:14.080 --> 08:15.919
that Emacs is dead
08:15.919 --> 08:17.199
and that maybe nobody really
08:17.199 --> 08:18.240
uses the editor anymore,
08:18.240 --> 00:08:19.999
or that it's on its way out.
08:20.000 --> 08:21.599
However, I think there's another way
08:21.599 --> 08:24.879
to look at the health or popularity
08:24.879 --> 08:27.280
of Emacs (or any other editor, really),
08:27.280 --> 08:28.240
and that is to judge
08:28.240 --> 08:29.520
the popularity and health
08:29.520 --> 08:30.240
by taking a look
08:30.240 --> 08:32.080
at the community activity
08:32.080 --> 08:33.680
in places such as Reddit,
08:33.680 --> 08:35.760
or maybe on Discord servers,
08:35.760 --> 08:38.880
Slack servers, IRC channels,
08:38.880 --> 08:40.000
mailing lists, particularly
08:40.000 --> 08:41.120
on emacs-devel,
08:41.120 --> 08:42.640
where all of the conversation
08:42.640 --> 08:45.120
about the development of Emacs happens.
08:45.120 --> 08:46.640
Blogs. There's quite a lot of people
08:46.640 --> 08:47.519
in the Emacs community
08:47.519 --> 08:48.959
writing blog posts.
08:48.959 --> 08:50.640
There's quite a few YouTube channels now
08:50.640 --> 08:52.399
making content about Emacs
08:52.399 --> 08:53.839
pretty frequently, and then
08:53.839 --> 08:56.880
conferences like this one, EmacsConf.
08:56.880 --> 08:58.399
If you've spent any time
08:58.399 --> 08:59.600
in any of these places recently,
08:59.600 --> 09:00.640
did you actually get the sense
09:00.640 --> 09:03.440
that Emacs community lacks activity?
09:03.440 --> 09:04.800
I personally don't.
09:04.800 --> 09:06.560
I see quite a lot of activity on Reddit,
09:06.560 --> 09:07.360
I see a lot of activity
09:07.360 --> 09:08.320
in various other places,
09:08.320 --> 09:11.040
even my own chats that I've created.
09:11.040 --> 09:12.480
Lots of people talking about Emacs
09:12.480 --> 09:16.320
every day. But this is harder to measure,
09:16.320 --> 09:18.160
because you would have to go count
09:18.160 --> 09:21.279
all of the mailing list emails
09:21.279 --> 09:22.560
compared to other editors,
09:22.560 --> 09:23.760
or maybe like the Reddit posts
09:23.760 --> 09:24.959
compared to other editors.
09:24.959 --> 09:26.880
We could do that, but really,
09:26.880 --> 09:27.839
the more important thing
09:27.839 --> 09:29.920
is to just go experience the community
09:29.920 --> 09:31.279
by going to one of these places
09:31.279 --> 09:33.360
and take a look at what's going on.
09:33.360 --> 09:34.560
You can get a really good sense of that
09:34.560 --> 09:37.760
by checking out Sacha Chua's Emacs News
09:37.760 --> 09:39.120
roll-up blog posts
09:39.120 --> 09:40.399
that come out every week.
09:40.399 --> 09:42.000
It's a very good distillation of things
09:42.000 --> 09:42.560
that are happening
09:42.560 --> 09:43.920
in the Emacs community.
09:43.920 --> 09:48.080
If you look at those things
09:48.080 --> 09:49.040
and look at all that,
09:49.040 --> 09:50.640
you can tell that there is actually
09:50.640 --> 09:51.360
something happening
09:51.360 --> 09:52.240
in the Emacs community
09:52.240 --> 09:54.000
that is more than what you see
09:54.000 --> 09:55.680
in the numbers on Google Trends
09:55.680 --> 09:58.080
and on Stack Overflow.
09:58.080 --> 09:59.200
Another interesting point
09:59.200 --> 10:00.480
that doesn't really fit into all this,
10:00.480 --> 10:01.440
but if you want to look
10:01.440 --> 10:02.640
at the actual data
10:02.640 --> 10:03.920
from the Emacs community
10:03.920 --> 10:06.160
about how the community uses Emacs,
10:06.160 --> 10:06.880
check out the results
10:06.880 --> 10:08.480
of the 2020 Emacs survey.
10:08.480 --> 10:09.040
I'm sure there's going to be
10:09.040 --> 10:11.760
another Emacs survey at some point soon,
10:11.760 --> 10:13.120
as well, but that will give you
10:13.120 --> 10:14.480
some insight into what's happening
10:14.480 --> 10:16.000
within the community itself.
10:16.000 --> 10:16.399
You can see that
10:16.399 --> 10:17.600
there's quite a lot of activity
10:17.600 --> 10:19.839
and a lot of different use cases for Emacs
10:19.839 --> 00:10:23.199
and types of people who are using Emacs.
10:23.200 --> 10:24.000
Let's talk about
10:24.000 --> 10:26.079
how editors lose popularity.
10:26.079 --> 10:26.880
So people are worried
10:26.880 --> 10:29.360
that Emacs is going to lose popularity.
10:29.360 --> 10:31.440
What do they worry is going to happen
10:31.440 --> 10:34.000
if that happens?
10:37.040 --> 00:10:38.319
Or how actually could it happen?
10:38.320 --> 10:39.680
So maybe a new editor
10:39.680 --> 10:41.839
with better features appears.
10:41.839 --> 10:43.440
So one theory for why users
10:43.440 --> 10:45.920
left TextMate for Sublime Text...
10:45.920 --> 10:46.880
If you don't know about TextMate,
10:46.880 --> 10:49.600
it was a very popular editor on macOS
10:49.600 --> 10:52.160
back probably in the Ruby on Rails craze
10:52.160 --> 10:54.079
time frame, maybe like the mid-2000s,
10:54.079 --> 10:57.200
2005 or so. Then eventually Sublime Text
10:57.200 --> 10:59.519
came along, and it had
10:59.519 --> 11:01.360
a better extensibility API
11:01.360 --> 11:03.200
and really good performance.
11:03.200 --> 11:05.200
It also was able to use
11:05.200 --> 11:07.040
some of the same stuff from TextMate,
11:07.040 --> 11:08.720
like these syntax highlighting grammars
11:08.720 --> 11:11.040
and the snippet definitions, etc.
11:11.040 --> 11:12.240
So you had TextMate
11:12.240 --> 11:13.519
which was a well-loved editor,
11:13.519 --> 11:15.200
but then a new editor called Sublime Text
11:15.200 --> 11:17.200
came along with better functionality,
11:17.200 --> 11:18.880
and people started switching over to it
11:18.880 --> 11:20.160
because it could do more things
11:20.160 --> 11:21.680
and the user had more ability
11:21.680 --> 11:24.399
to add functionality to it.
11:24.399 --> 11:26.880
Also, VS Code came along
11:26.880 --> 11:27.920
and used a similar model
11:27.920 --> 11:29.120
to the Atom editor,
11:29.120 --> 11:31.360
basically being a web-based editor
11:31.360 --> 11:32.480
using Electron,
11:32.480 --> 11:34.640
but it greatly improved upon performance
11:34.640 --> 11:36.640
and IDE tooling ecosystem.
11:36.640 --> 11:38.640
For people getting real work done
11:38.640 --> 11:39.519
with large projects,
11:39.519 --> 11:41.120
you need to have things like IntelliSense,
11:41.120 --> 11:42.800
and being able to find definitions
11:42.800 --> 11:45.839
of functions or classes that are defined.
11:45.839 --> 11:47.040
So you have a new editor
11:47.040 --> 11:47.519
that comes along
11:47.519 --> 11:49.440
that has basically better functionality
11:49.440 --> 11:51.279
than the one that was there before.
11:51.279 --> 11:52.399
But the thing is,
11:52.399 --> 11:53.760
if you have a new editor that comes along
11:53.760 --> 11:54.720
with better functionality,
11:54.720 --> 11:57.120
it still has to be at least as good as
11:57.120 --> 11:58.800
or better than the previous editor
11:58.800 --> 12:00.000
for people to stick with it.
12:00.000 --> 12:02.480
So it's a very tall order
12:02.480 --> 12:03.680
for someone to say
12:03.680 --> 12:05.200
there's going to be some editor
12:05.200 --> 12:05.839
that will come along
12:05.839 --> 12:07.040
that would be better than Emacs
12:07.040 --> 12:08.240
on every dimension,
12:08.240 --> 12:09.680
because there are some unique dimensions
12:09.680 --> 12:11.360
that are hard to beat
12:11.360 --> 12:14.160
in an editor like Emacs.
12:14.160 --> 12:15.920
Lack of sufficient maintenance.
12:15.920 --> 12:16.560
That's one thing
12:16.560 --> 12:17.600
that could possibly happen
12:17.600 --> 12:19.279
if an editor loses popularity.
12:19.279 --> 12:20.687
So maybe sometimes...
12:20.687 --> 12:22.480
Sorry, that's something
12:22.480 --> 12:23.440
that can cause a lack,
12:23.440 --> 00:12:25.679
a loss of popularity.
12:25.680 --> 12:26.959
Sometimes the development team
12:26.959 --> 12:28.320
for an editor either moves on
12:28.320 --> 12:29.279
or maybe switches focus
12:29.279 --> 12:30.720
to a different project.
12:30.720 --> 12:32.079
When this happens, the development
12:32.079 --> 12:33.360
of the editor can stagnate,
12:33.360 --> 12:36.240
giving the impression that it's dead.
12:37.279 --> 12:38.160
You can see this happening
12:38.160 --> 12:40.720
a lot of times on repositories
12:40.720 --> 12:41.920
for open source projects,
12:41.920 --> 12:43.440
where if someone doesn't make any commits
12:43.440 --> 12:44.639
or adding new features for a while,
12:44.639 --> 12:45.839
people just automatically assume
12:45.839 --> 12:46.880
that the thing is dead,
12:46.880 --> 12:48.399
even if it's in a very stable state
12:48.399 --> 12:49.920
and doesn't really need any improvements
12:49.920 --> 12:53.680
to be made. This is something
12:53.680 --> 12:55.360
that can happen over time.
12:55.360 --> 12:56.720
The developers of Sublime Text
12:56.720 --> 12:57.920
sometimes give the impression
12:57.920 --> 12:59.519
that the editor isn't being maintained
12:59.519 --> 13:02.000
because of long breaks between updates,
13:02.000 --> 13:03.360
and this gives people...
13:03.360 --> 13:04.560
If you go search for
13:04.560 --> 13:05.440
"Is Sublime Text dead?",
13:05.440 --> 13:06.800
you'll see posts about this
13:07.519 --> 13:08.240
every couple years,
13:08.240 --> 13:09.120
where people are wondering
13:09.120 --> 13:10.320
what's happening with Sublime Text,
13:10.320 --> 13:12.320
when in reality, there's actually
13:12.320 --> 13:15.120
development happening on this project,
13:15.120 --> 13:18.160
and paid users are getting these updates
13:18.160 --> 13:19.279
because they've paid,
13:19.279 --> 13:20.639
but the product is not open source.
13:20.639 --> 13:21.600
You have no visibility
13:21.600 --> 13:22.399
into the development.
13:22.399 --> 13:24.639
So if people have the perception
13:24.639 --> 13:26.160
that the editor is not being maintained,
13:26.160 --> 13:26.880
then there's going to be
13:26.880 --> 13:28.079
rumors getting started,
13:28.079 --> 13:29.200
and that could cause
13:29.200 --> 13:30.959
the mentality of people to shift
13:30.959 --> 13:32.639
and try to move on to other editors
13:32.639 --> 13:34.240
because they perceive them to be
13:34.240 --> 13:36.399
more well-maintained or more active.
13:36.399 --> 13:37.920
Another problem can be that there are
13:37.920 --> 13:39.839
major bugs that persist over a long time
13:39.839 --> 13:41.040
that aren't being fixed
13:41.040 --> 13:42.560
while the maintainers are focusing on
13:42.560 --> 13:44.639
some other efforts in the project,
13:44.639 --> 13:46.000
and this could hurt sentiment
13:46.000 --> 13:48.160
in the community and cause a backlash
13:48.160 --> 13:49.120
leading to an exodus.
13:49.120 --> 13:51.120
So if you have really bad bugs
13:51.120 --> 13:51.600
and people think
13:51.600 --> 13:52.560
that you're not really concerned
13:52.560 --> 13:53.519
about fixing them,
13:53.519 --> 13:54.399
then that could be something
13:54.399 --> 13:55.360
that would cause an editor
13:55.360 --> 13:56.399
to lose popularity
13:56.399 --> 13:58.000
as people move on to find something else
13:58.000 --> 00:14:01.039
that appears to be more stable.
14:01.040 --> 14:03.199
Lastly, sometimes all it takes is
14:03.199 --> 14:04.480
for a new programming language
14:04.480 --> 14:05.279
to become popular
14:05.279 --> 14:06.880
or for an influential person to say
14:06.880 --> 14:08.720
that they switched to a different editor,
14:08.720 --> 14:14.560
because people are capable of being led
14:14.560 --> 14:16.720
by someone else who is influential,
14:16.720 --> 14:18.320
so sometimes it's just...
14:18.320 --> 14:20.240
All it takes is someone to say, you know,
14:20.240 --> 14:22.240
I'm not going to use this editor any more,
14:22.240 --> 14:24.000
and other people will follow.
14:24.000 --> 14:26.240
But oftentimes, it's not just about
14:26.240 --> 14:27.199
the fashion changing,
14:27.199 --> 14:28.560
it's also there's other problems
14:28.560 --> 14:29.040
that are happening.
14:29.040 --> 14:29.680
Some of these other things
14:29.680 --> 14:30.959
that I mentioned before
14:30.959 --> 14:32.160
that could be contributing
14:32.160 --> 14:33.839
to this overall sentiment
14:33.839 --> 00:14:36.958
that caused people to move on.
14:36.959 --> 14:38.000
So then what happens
14:38.000 --> 14:40.000
when an editor loses popularity?
14:40.000 --> 14:40.800
If people are worried
14:40.800 --> 14:43.120
that Emacs is going to lose popularity,
14:43.120 --> 14:44.880
what happens if it doesn't gain more?
14:44.880 --> 14:47.839
So what are the possible consequences?
14:47.839 --> 14:49.120
Well, maybe core maintainers
14:49.120 --> 14:50.399
will gradually leave the project
14:50.399 --> 14:52.160
with nobody to replace them. I mean,
14:52.160 --> 14:53.839
if you have a project like Emacs
14:53.839 --> 14:57.199
where there's a core
14:57.199 --> 14:58.240
that's written in a language
14:58.240 --> 14:59.600
that's different than the language
14:59.600 --> 15:01.040
everybody uses to extend it,
15:01.040 --> 15:02.240
then maybe it's risky
15:02.240 --> 15:03.440
to have people leave the project
15:03.440 --> 15:04.800
because you don't have other people
15:04.800 --> 15:06.560
to come along who can help maintain it
15:06.560 --> 15:10.240
and to carry on the knowledge of the core.
15:10.240 --> 15:11.519
Also, maybe no new features
15:11.519 --> 15:13.279
are being added to stay competitive
15:13.279 --> 15:14.800
with other editors.
15:14.800 --> 15:15.920
So this is one of these things
15:15.920 --> 15:17.120
where people kind of feel like
15:17.120 --> 15:18.800
there's a feature mill, where you know
15:18.800 --> 15:20.880
if new features are coming online
15:20.880 --> 15:21.680
in other editors,
15:21.680 --> 15:23.279
maybe your editor needs to catch up.
15:23.279 --> 15:24.160
Well, I don't really think that
15:24.160 --> 15:25.279
that's necessarily needed,
15:25.279 --> 15:28.160
but if there are new paradigms
15:28.160 --> 15:29.839
or usage patterns or workflows
15:29.839 --> 15:32.320
that are becoming...
15:32.320 --> 15:33.759
I guess you could say mainstream,
15:33.759 --> 15:34.800
sometimes it does make sense
15:34.800 --> 15:37.199
for an editor to be able to adopt these,
15:37.199 --> 15:37.759
but if you have
15:37.759 --> 15:39.519
a sufficiently extendable editor,
15:39.519 --> 15:41.440
then oftentimes, you don't really need to
15:41.440 --> 15:42.079
do anything other than
15:42.079 --> 15:44.480
just write a new package.
15:44.480 --> 15:46.160
Critical bugs that never get fixed...
15:46.160 --> 15:48.240
I mean, if people start to drift off
15:48.240 --> 15:49.839
from the project, it is much more likely
15:49.839 --> 15:52.720
that bad bugs won't get fixed over time.
15:52.720 --> 15:54.079
Less community interest in creating
15:54.079 --> 15:55.199
and maintaining packages.
15:55.199 --> 15:56.320
There's another possibility
15:56.320 --> 15:57.519
if people don't feel like
15:57.519 --> 15:58.880
it's worth their time anymore
15:58.880 --> 16:00.079
because not many people
16:00.079 --> 16:00.880
are using an editor,
16:00.880 --> 16:02.480
maybe they'll have more users
16:02.480 --> 16:03.279
or more interaction
16:03.279 --> 16:04.959
if they go write a similar package
16:04.959 --> 16:07.440
for a different editor.
16:07.440 --> 16:10.079
Less blog posts, videos, content.
16:10.079 --> 16:11.519
Basically, like, if people feel
16:11.519 --> 16:12.480
that it's not worth their time
16:12.480 --> 16:13.839
to make content about the editor either,
16:13.839 --> 16:15.360
or if you're just not interested any more,
16:15.360 --> 16:17.040
then those things will dry up.
16:17.040 --> 16:18.639
And also one thing that is possible,
16:18.639 --> 16:19.839
but probably not very likely,
16:19.839 --> 16:21.839
is that the program may not be
16:21.839 --> 16:24.000
packaged any more in Linux distributions
16:24.000 --> 16:25.680
or for other operating systems.
16:25.680 --> 16:27.519
So if it's not worth someone to package it,
16:27.519 --> 16:29.040
or they just sort of lose interest
16:29.040 --> 16:31.360
in the editor, then maybe those things
16:31.360 --> 16:32.320
sort of drift away
16:32.320 --> 16:33.920
and you can't even install it any more
16:33.920 --> 16:35.360
in many places.
16:35.360 --> 16:36.399
But I feel that these things
16:36.399 --> 16:37.279
would only really happen
16:37.279 --> 16:39.279
if there was already other major issues
16:39.279 --> 16:41.920
in the dev team or in the community,
16:41.920 --> 16:44.320
like maybe a high profile schism
16:44.320 --> 16:45.199
in the maintainer team,
16:45.199 --> 16:47.519
sort of like what we saw with GNU Emacs
16:47.519 --> 16:49.759
versus XEmacs, because you have
16:49.759 --> 16:50.959
two competing versions
16:50.959 --> 16:52.160
of the same idea
16:52.160 --> 16:53.600
with different implementations,
16:53.600 --> 16:54.800
and then over time,
16:54.800 --> 16:55.920
one of them may fade out
16:55.920 --> 16:57.839
because people just lose interest
16:57.839 --> 17:00.800
and maybe something like GNU Emacs
17:00.800 --> 17:02.399
gradually catches up and surpasses it
17:02.399 --> 17:04.720
in functionality. So these things
17:04.720 --> 17:07.520
can happen, but it's not really
17:07.520 --> 00:17:10.239
as likely as people would think, I think.
17:10.240 --> 17:12.959
So how is Emacs going to survive
17:12.959 --> 17:15.280
despite popularity? I feel that
17:15.280 --> 17:16.640
there are a few important
17:16.640 --> 17:17.679
and unique factors
17:17.679 --> 00:17:20.159
that are going to contribute to this.
17:20.160 --> 17:21.520
First of all, Emacs is
17:21.520 --> 17:22.720
more deeply hackable
17:22.720 --> 17:24.959
than almost all other editors.
17:24.959 --> 17:26.000
I'm couching that a bit,
17:26.000 --> 17:26.880
but really it is
17:26.880 --> 17:28.000
basically more extensible
17:28.000 --> 17:28.960
than any other editor.
17:28.960 --> 17:29.679
I haven't seen one
17:29.679 --> 17:31.440
that's more extensible than Emacs so far,
17:31.440 --> 17:32.000
and that's because
17:32.000 --> 17:34.160
Emacs was designed for this.
17:34.160 --> 17:35.360
The whole point of Emacs
17:35.360 --> 17:36.960
is that you should be able to go in
17:36.960 --> 17:38.320
and customize your workflow,
17:38.320 --> 17:39.600
and customize the editor to do
17:39.600 --> 17:41.039
exactly what you want it to do.
17:41.039 --> 17:44.080
It's this whole idea of user freedom.
17:44.080 --> 17:46.320
You're not letting the editor designer
17:46.320 --> 17:47.120
tell you what to do,
17:47.120 --> 17:48.880
you're telling the editor what to do
17:48.880 --> 17:50.559
at every step of the way.
17:50.559 --> 17:53.440
Also, an Emacs user can grow their skills
17:53.440 --> 17:55.039
from small configuration tweaks,
17:55.039 --> 17:56.240
just basically setting variables
17:56.240 --> 17:57.280
and whatnot, to writing
17:57.280 --> 17:58.960
their own packages over time,
17:58.960 --> 17:59.600
and then eventually
17:59.600 --> 18:01.280
to contributing to Emacs itself--
18:01.280 --> 18:02.320
the same skill set,
18:02.320 --> 18:03.360
because the majority
18:03.360 --> 18:04.640
of the functionality of the editor
18:04.640 --> 18:06.160
is written with the same language
18:06.160 --> 18:07.600
that you use to configure it.
18:07.600 --> 18:09.280
So unlike other editors,
18:09.280 --> 18:10.960
where you have...
18:10.960 --> 18:12.960
the way that you write extensions
18:12.960 --> 18:13.440
for the editor,
18:13.440 --> 18:14.960
that has a specific API,
18:14.960 --> 18:16.400
but if you go contribute to the core,
18:16.400 --> 18:18.160
the code base is completely different.
18:18.160 --> 18:19.280
It's different with Emacs
18:19.280 --> 18:22.640
because you have basically the same APIs,
18:22.640 --> 18:24.320
the same code and same everything
18:24.320 --> 18:26.080
that you use to write a package
18:26.080 --> 18:28.160
versus writing actual code
18:28.160 --> 18:29.600
for functionality for the editor.
18:29.600 --> 18:30.960
Now obviously, there's the C layer
18:30.960 --> 18:32.000
that is different,
18:32.000 --> 18:34.000
but I think a lot of the actual packages
18:34.000 --> 18:35.280
and functionality in Emacs
18:35.280 --> 18:36.640
are at the Emacs Lisp layer.
18:36.640 --> 18:38.797
So what this means is that
18:38.797 --> 18:41.120
Emacs configuration hackers
18:41.120 --> 18:42.000
and package authors
18:42.000 --> 18:43.200
are prime candidates
18:43.200 --> 18:44.880
for eventually becoming contributors
18:44.880 --> 18:46.960
to Emacs itself. You see this play out
18:46.960 --> 18:48.559
a lot of times in Emacs community,
18:48.559 --> 18:49.760
where someone writes
18:49.760 --> 18:51.039
some really good packages,
18:51.039 --> 18:52.240
and either parts of those
18:52.240 --> 18:53.440
get merged into Emacs
18:53.440 --> 18:55.520
or that person maybe makes contributions
18:55.520 --> 18:57.280
to Emacs to add new functionality
18:57.280 --> 18:59.360
that their own packages can use,
18:59.360 --> 19:01.679
or just to improve Emacs as a whole.
19:01.679 --> 19:03.679
So there's much more chance
19:03.679 --> 19:04.880
that people who are involved
19:04.880 --> 19:06.160
in the community of Emacs
19:06.160 --> 19:07.440
can actually become contributors
19:07.440 --> 19:08.480
to the project itself.
19:08.480 --> 19:09.200
I think that's going to be
19:09.200 --> 19:11.600
very important for its health.
19:11.600 --> 19:13.200
Also, you don't need to add functionality
19:13.200 --> 19:14.080
to Emacs core
19:14.080 --> 19:16.160
to make the editor itself better.
19:16.160 --> 19:17.120
Package authors are on
19:17.120 --> 19:18.480
an equal playing field
19:18.480 --> 19:19.679
as the built-in functionality,
19:19.679 --> 19:21.008
for the same reason what I said before.
19:21.008 --> 19:22.640
Everything's written with Emacs Lisp,
19:22.640 --> 19:24.160
or I guess a lot of the functionality
19:24.160 --> 19:26.000
is written with Emacs Lisp.
19:26.000 --> 19:28.720
Since there's a lot of ways to hook into
19:28.720 --> 19:30.720
or replace functionality in Emacs,
19:30.720 --> 19:33.280
you can do a lot of deep customizations
19:33.280 --> 19:35.360
to Emacs itself to make it better
19:35.360 --> 19:37.600
in ways that aren't really...
19:37.600 --> 19:39.760
The core developers don't need to
19:39.760 --> 19:40.960
add new things for you to do that.
19:40.960 --> 19:42.320
You can just do it if you want to.
19:42.320 --> 19:44.640
So that gives Emacs more of
19:44.640 --> 19:45.840
a platform feel
19:45.840 --> 19:47.440
rather than just being an editor
19:47.440 --> 00:19:51.439
that can't really be changed very much.
19:51.440 --> 19:53.440
Also, Emacs has a strong community
19:53.440 --> 19:56.080
of highly-skilled packaged authors
19:56.080 --> 19:58.000
and the high-quality packages
19:58.000 --> 19:59.919
that they create make it far better
19:59.919 --> 20:01.679
and more uniquely valuable
20:01.679 --> 20:02.960
than many other editors.
20:02.960 --> 20:04.960
Specifically, things like Org mode,
20:04.960 --> 20:06.240
Magit, Org-roam,
20:06.240 --> 20:07.039
and a lot of other things
20:07.039 --> 20:08.000
that we've talked about
20:08.000 --> 20:10.000
on the System Crafters channel over time,
20:10.000 --> 20:11.136
and the hundreds of other
20:11.136 --> 20:12.480
workflow-improving packages
20:12.480 --> 20:14.720
that have been created over the years.
20:14.720 --> 20:18.559
So all these things really make Emacs
20:18.559 --> 20:20.159
a unique offering
20:20.159 --> 20:21.679
in the space of text editors,
20:21.679 --> 20:22.640
or development tools,
20:22.640 --> 20:24.240
or even just general
20:24.240 --> 20:25.440
information management tools,
20:25.440 --> 20:27.120
or desktop environments,
20:27.120 --> 20:28.960
if you want to call it that.
20:28.960 --> 20:31.280
So the people who are involved
20:31.280 --> 20:32.159
in making these things
20:32.159 --> 20:33.600
make Emacs far better than it could be
20:33.600 --> 20:35.039
just by itself,
20:35.039 --> 20:37.360
and this thriving ecosystem helps Emacs
20:37.360 --> 20:39.120
to continually feel fresh,
20:39.120 --> 20:40.320
regardless of what's happening
20:40.320 --> 20:41.600
in core Emacs development,
20:41.600 --> 20:43.840
because packages can do so much
20:43.840 --> 20:45.280
and because people can come along
20:45.280 --> 20:46.640
and propose sort of
20:46.640 --> 20:47.760
a new way of doing things
20:47.760 --> 20:49.360
and other people can start using it.
20:49.360 --> 20:51.120
Emacs itself doesn't have to be
20:51.120 --> 20:52.400
beholden to just what
20:52.400 --> 20:53.840
the core developers do.
20:53.840 --> 20:55.280
The community can also play
20:55.280 --> 20:57.760
a major role in making Emacs feel fresh
20:57.760 --> 20:59.919
and be modernized over time.
20:59.919 --> 21:01.360
Just take a look at what Doom Emacs
21:01.360 --> 21:03.919
is doing to give Emacs a better face,
21:03.919 --> 21:04.960
and Spacemacs as well.
21:04.960 --> 21:06.240
Those things are very good
21:06.240 --> 21:08.000
for making Emacs more palatable
21:08.000 --> 21:09.440
to the general public,
21:09.440 --> 21:11.120
because you have a much better experience
21:11.120 --> 21:12.240
out of the box, and a lot of things
21:12.240 --> 21:12.880
have been polished
21:12.880 --> 00:21:15.279
for the user experience.
21:15.280 --> 21:17.200
Emacs also has a very strong
21:17.200 --> 21:18.799
user community. Lots of activity
21:18.799 --> 21:20.000
and discussion about emacs
21:20.000 --> 21:21.440
is taking place all the time
21:21.440 --> 21:22.559
in various places,
21:22.559 --> 21:23.919
like we talked about before.
21:23.919 --> 21:26.559
Mailing lists, IRC, Reddit, etc.
21:26.559 --> 21:28.159
If you get into Emacs
21:28.159 --> 21:28.880
and you go take part
21:28.880 --> 21:29.840
in the Emacs community,
21:29.840 --> 21:30.640
there's always going to be
21:30.640 --> 21:32.000
somebody around who's going to want to
21:32.000 --> 21:33.520
talk about Emacs with you
21:33.520 --> 21:34.960
and answer your questions.
21:34.960 --> 21:37.120
So it's a very good thing
21:37.120 --> 21:39.039
for the health of the project
21:39.039 --> 21:40.320
because there's a lot of people there
21:40.320 --> 21:42.640
that are very invested in it every day
21:42.640 --> 21:45.120
and want to see it succeed.
21:45.120 --> 21:47.039
Also, there's many community members
21:47.039 --> 21:47.840
writing articles
21:47.840 --> 21:49.440
and making videos about Emacs,
21:49.440 --> 21:51.280
many of which are actually moving forward
21:51.280 --> 21:52.240
the state of the art
21:52.240 --> 21:53.679
about how we use the editor,
21:53.679 --> 21:55.360
and how we use it... I mean,
21:55.360 --> 21:56.480
how many times have you seen
21:56.480 --> 21:57.520
a really great blog post
21:57.520 --> 21:59.120
that completely blew your mind
21:59.120 --> 22:00.880
and showed you a new way
22:00.880 --> 22:02.720
to use Emacs, or a new way to think about
22:02.720 --> 22:05.120
how you use Emacs. I see stuff like that
22:05.120 --> 22:08.480
all the time, like posts by Protesilaos,
22:08.480 --> 22:10.640
or by Karthik, or by many other people
22:10.640 --> 22:12.080
who show you a new way
22:12.080 --> 22:13.360
to look at things, and then you're, like,
22:13.360 --> 22:14.720
Wow. This... I could do things
22:14.720 --> 22:15.200
completely different
22:15.200 --> 22:16.559
than I was doing before.
22:16.559 --> 22:17.200
This kind of stuff
22:17.200 --> 22:18.240
is extremely important
22:18.240 --> 22:20.080
for the health of the editor
22:20.080 --> 22:22.799
going forward, because people are able to
22:22.799 --> 22:24.799
inspire others to use the editor.
22:24.799 --> 22:26.559
It's a great thing for evangelism as well.
22:26.559 --> 22:28.080
Like, if someone happens to
22:28.080 --> 22:30.080
stumble across a video or a blog post,
22:30.080 --> 00:22:33.439
they may be really inspired to use Emacs.
22:33.440 --> 22:35.280
And lastly, the Emacs maintainers
22:35.280 --> 22:36.720
and contributors really care
22:36.720 --> 22:38.000
about the users.
22:38.000 --> 22:39.280
There are many core maintainers
22:39.280 --> 22:40.080
who have been with the project
22:40.080 --> 22:43.360
for 10+ years, some way longer than that.
22:43.360 --> 22:45.200
So it shows you that
22:45.200 --> 22:46.559
the people who work on this project
22:46.559 --> 22:47.600
really care a lot,
22:47.600 --> 22:48.640
and they're very invested
22:48.640 --> 22:51.120
in making sure that it remains healthy
22:51.120 --> 22:53.360
for the long term.
22:53.360 --> 22:55.440
They also really care about ensuring
22:55.440 --> 22:56.720
that Emacs continues to work well
22:56.720 --> 22:58.159
for long-time users,
22:58.159 --> 23:00.080
(and some people have been using it
23:00.080 --> 23:01.280
for 30 to 40 years,
23:01.280 --> 23:02.400
which is kind of insane,
23:02.400 --> 23:03.760
if you think about it),
23:03.760 --> 23:05.679
all while gradually and sensibly
23:05.679 --> 23:07.120
enabling new scenarios
23:07.120 --> 23:08.080
and core improvements
23:08.080 --> 23:09.280
that benefit all of us,
23:09.280 --> 23:11.520
even the new and the old users.
23:11.520 --> 23:12.880
Keeping a piece of software
23:12.880 --> 23:13.600
running and relevant
23:13.600 --> 23:14.400
for this many years
23:14.400 --> 23:15.440
is a huge effort,
23:15.440 --> 23:16.799
so I'm very thankful
23:16.799 --> 23:18.480
to the maintainers of Emacs,
23:18.480 --> 23:20.159
and I hope all of you are as well,
23:20.159 --> 23:22.799
because this is kind of an anomaly
23:22.799 --> 23:23.600
in the software field
23:23.600 --> 23:24.960
to have a piece of software
23:24.960 --> 23:26.640
that has existed for so long,
23:26.640 --> 23:30.000
who has managed to survive
23:30.000 --> 23:31.840
despite various different types
23:31.840 --> 23:33.280
of platform transitions,
23:33.280 --> 23:35.280
operating transitions over the years
23:35.280 --> 23:37.360
and still thrive and be a very useful
23:37.360 --> 23:38.559
and very key piece of software
23:38.559 --> 00:23:40.959
for a lot of people.
23:40.960 --> 23:42.320
So aren't all these things
23:42.320 --> 23:43.039
that we just talked about
23:43.039 --> 23:43.840
supposed to come
23:43.840 --> 23:45.279
when an editor is popular?
23:45.279 --> 23:46.080
We've been talking about
23:46.080 --> 23:47.039
what is popularity,
23:47.039 --> 23:48.720
what benefits come with popularity.
23:48.720 --> 23:50.320
So all the things I just mentioned,
23:50.320 --> 23:51.120
shouldn't that be something
23:51.120 --> 23:52.720
that would only be for editors
23:52.720 --> 23:54.640
that are super popular? Well, I guess
23:54.640 --> 23:56.720
the answer is maybe Emacs is actually
23:56.720 --> 23:57.840
popular enough.
23:57.840 --> 23:58.799
That doesn't necessarily mean
23:58.799 --> 24:00.640
that we should not try to
24:00.640 --> 24:03.600
help other people find Emacs,
24:03.600 --> 24:04.960
but I think that we should not
24:04.960 --> 24:05.760
worry so much about
24:05.760 --> 24:06.880
the popularity of Emacs,
24:06.880 --> 24:08.480
because what we have is great,
24:08.480 --> 24:11.120
and we should just focus our time
24:11.120 --> 24:13.919
on continuing to improve the health
24:13.919 --> 24:15.520
of the community that we have
24:15.520 --> 24:17.360
and the health of the editor itself,
24:17.360 --> 24:19.440
and not worry too much about chasing
24:19.440 --> 24:20.880
whatever is happening out in the world
24:20.880 --> 00:24:22.879
at any given point.
24:22.880 --> 24:26.159
To conclude, the next time someone says
24:26.159 --> 24:27.760
we should do this thing
24:27.760 --> 24:28.559
or this other thing
24:28.559 --> 24:30.400
to make Emacs more popular,
24:30.400 --> 24:32.240
ask them these questions.
24:32.240 --> 24:35.200
1. What does popularity mean to you?
24:35.200 --> 24:37.279
2. How do you measure it?
24:37.279 --> 24:39.440
3. What do you think Emacs is going to
24:39.440 --> 24:41.600
gain from increased popularity?
24:41.600 --> 24:43.279
So I hope that you found this talk
24:43.279 --> 24:44.159
inspiring and maybe
24:44.159 --> 24:46.320
a little bit reassuring. Thanks so much
24:46.320 --> 24:48.240
for your time, and happy hacking.
24:48.240 --> 24:50.867
We'll see ya.
24:50.867 --> 24:51.559
[captions by sachac]
|