summaryrefslogtreecommitdiffstats
path: root/2021/captions/emacsconf-2021-forever--m-x-forever-why-emacs-will-outlast-text-editor-trends--david-wilson-system-crafters--main.vtt
blob: 026216c8cc03ea78b28249eb881ff0dad7a5d3e5 (plain) (blame)
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]