Polish subtitles for clip: File:Wikimania 2021 - Wikifunctions and Abstract Wikipedia.webm

1
00:00:12,420 --> 00:00:14,333
Dzień dobry!
Witajcie na Wikimanii!

2
00:00:14,644 --> 00:00:18,259
Dziękujemy za zainteresowanie
Abstrakcyjną Wikipedią i Wikifunkcjami.

3
00:00:18,340 --> 00:00:20,937
Naszym celem jest stworzenie świata,

4
00:00:21,018 --> 00:00:24,275
w którym każdy człowiek ma dostęp
do całego zasobu wiedzy.

5
00:00:24,356 --> 00:00:27,219
Dziś jednak wiedza w Wikipedii jest

6
00:00:27,300 --> 00:00:29,577
rozłożona bardzo nierównomiernie.

7
00:00:29,658 --> 00:00:32,242
Angielska wersja posiada miliony artykułów,

8
00:00:32,323 --> 00:00:36,341
ale już wersja w języku hausa,
który ma 60 mln rodzimych użytkowników

9
00:00:36,422 --> 00:00:40,107
i 30 mln osób korzystających z niego
jako z drugiego języka,

10
00:00:40,188 --> 00:00:42,259
 ma zaledwie 10 tys. artykułów.

11
00:00:42,340 --> 00:00:45,814
Fundamentalnym problemem jest fakt,
że koszt Wikipedii to w zasadzie

12
00:00:45,895 --> 00:00:48,299
liczba tematów pomnożona
przez liczbę języków.

13
00:00:48,380 --> 00:00:52,149
Wszystkie artykuły na dany temat
w każdym języku powstają

14
00:00:52,230 --> 00:00:54,272
i funkcjonują zupełnie niezależnie.

15
00:00:54,353 --> 00:00:55,896
Czy możemy to zmienić?

16
00:00:55,977 --> 00:00:58,263
Czy możemy zmienić mnożenie

17
00:00:58,344 --> 00:01:06,239
na dodawanie i tym samym znacząco
zmniejszyć koszt Wikipedii?

18
00:01:06,320 --> 00:01:10,243
Tak, możemy! Wikidane pokazują krok
w tym kierunku.

19
00:01:10,324 --> 00:01:14,239
Oto artykuł o Marii Curie
na Wikipedii urdu.

20
00:01:14,320 --> 00:01:17,703
Fragmenty oznaczone na niebiesko:
część górna i boczna, tłumaczone są przez

21
00:01:17,784 --> 00:01:19,239
MediaWiki, więc to mamy z głowy.

22
00:01:19,320 --> 00:01:22,627
Fragmenty oznaczone na czerwono:
ramka z informacjami, przypisy,

23
00:01:22,708 --> 00:01:25,232
linki do innych języków,
kontrola autorytatywna –

24
00:01:25,313 --> 00:01:29,207
one też są już zapewniane nie lokalnie,
ale za sprawą Wikidanych.

25
00:01:29,307 --> 00:01:32,241
Coraz więcej wersji językowych Wikipedii

26
00:01:32,322 --> 00:01:36,239
korzysta ze wspólnej bazy
wiedzy Wikidanych,

27
00:01:36,320 --> 00:01:39,239
aby razem pracować na rzecz
utrzymania wiedzy w jednym miejscu,

28
00:01:39,320 --> 00:01:42,486
zachowania jej aktualności
i poprawności oraz aby wykorzystywać

29
00:01:42,567 --> 00:01:45,239
ją do wyświetlania wiedzy
na własnej wersji Wikipedii.

30
00:01:45,320 --> 00:01:50,202
A więc wystarczy, żeby wszystko
z Wikipedii przenieść do Wikidanych i już?

31
00:01:50,283 --> 00:01:51,483
Niestety nie.

32
00:01:51,564 --> 00:01:54,110
Największym problemem
jest to, że Wikidane

33
00:01:54,190 --> 00:01:56,609
mają bardzo ograniczoną
ekspresyjność.

34
00:01:56,690 --> 00:02:01,236
Nie mogą się zajmować narracją, a to
narracja jest niezbędna do nauki.

35
00:02:01,317 --> 00:02:06,244
Wikidane nie potrafią odnajdywać odniesień
po opisie i nie są najlepsze w redundancji.

36
00:02:06,325 --> 00:02:09,199
Zilustruję problem z redundancją.

37
00:02:09,280 --> 00:02:15,206
Na początku artykułów o Marii Curie
niemal w każdej wersji językowej,

38
00:02:15,287 --> 00:02:18,259
nawet w tym krótkim artykule w wersji
urdu, wspominany jest jeden fakt:

39
00:02:18,340 --> 00:02:21,073
to jedyna osoba w historii, która zdobyła

40
00:02:21,154 --> 00:02:24,231
Nagrodę Nobla w dwóch różnych
dziedzinach nauki!

41
00:02:24,312 --> 00:02:28,040
Jest to fakt, na który Wikidane nie są
w stanie położyć odpowiedniego nacisku,

42
00:02:28,121 --> 00:02:32,202
chociaż wyraźnie jest to istotna
informacja, skoro twórcy każdej

43
00:02:32,283 --> 00:02:36,210
z tych Wikipedii zadali sobie trud,
aby umieścić ją na początku artykułu.

44
00:02:36,291 --> 00:02:42,232
Abstrakcyjna Wikipedia znacząco
rozbuduje możliwości ekspresji Wikidanych,

45
00:02:42,313 --> 00:02:45,644
przez co uzyskamy funkcje
generujące naturalnie brzmiący tekst

46
00:02:45,725 --> 00:02:48,242
na podstawie tych abstrakcyjnych
przedstawień,

47
00:02:48,323 --> 00:02:51,711
co z kolei umożliwi Wikipediom
wypełnienie luk za pomocą

48
00:02:51,792 --> 00:02:55,205
treści wiedzy podstawowej
wygenerowanych przez Wikidane.

49
00:02:55,286 --> 00:03:00,046
Jedyne, co musimy zrobić, to podmienić
tę funkcję, użyć jej na tej samej treści,

50
00:03:00,127 --> 00:03:02,209
a otrzymamy tekst w innym języku.

51
00:03:02,290 --> 00:03:06,796
Prowadzi to do architektury, w której
mamy tylko jedną treść odnoszącą się

52
00:03:06,877 --> 00:03:09,320
do danego tematu i jeden zestaw renderów

53
00:03:09,401 --> 00:03:12,198
dla każdego języka i tym samym
osiągamy nasz cel:

54
00:03:12,279 --> 00:03:14,761
koszt Wikipedii równa się

55
00:03:14,842 --> 00:03:18,226
sumie tematów i języków,
a nie ich iloczynowi.

56
00:03:18,307 --> 00:03:25,239
Kto zatem napisze wszystkie te funkcje,
które generują tekst w setkach języków?

57
00:03:25,320 --> 00:03:27,873
Chociaż mamy w panelu mnóstwo osób,

58
00:03:27,954 --> 00:03:32,196
to nie wystarczy, żeby stworzyć rendery
dla setek języków.

59
00:03:32,277 --> 00:03:36,767
Zamiast tego utworzymy platformę,
nową wiki, na której społeczność będzie

60
00:03:36,848 --> 00:03:38,239
mogła tworzyć funkcje:

61
00:03:38,320 --> 00:03:40,199
Wikifunkcje.

62
00:03:40,280 --> 00:03:44,048
To wiki, na której można wykorzystać
funkcje, aby znaleźć odpowiedzi na pytania;

63
00:03:44,129 --> 00:03:48,192
na której można stworzyć więcej funkcji,
aby odpowiedzieć na więcej rodzajów pytań.

64
00:03:48,273 --> 00:03:52,206
Będzie to pierwszy projekt Wikimediów
od 2012 r.

65
00:03:52,287 --> 00:03:56,016
Wikifunkcje mają być w pełni
wielojęzykowe, tak jak Wikidane,

66
00:03:56,097 --> 00:04:00,237
zarówno w kontekście języków naturalnych,
jak i języków programowania.

67
00:04:00,318 --> 00:04:03,086
Nie będziemy się skupiać wyłącznie
na funkcjach języków naturalnych.

68
00:04:03,167 --> 00:04:05,233
Będziemy się zajmować funkcjami
wszelkiego rodzaju.

69
00:04:05,322 --> 00:04:07,166
Ale czym jest funkcja?

70
00:04:07,247 --> 00:04:11,913
Funkcja otrzymuje pewne dane wejściowe,
potem mamy algorytm, czyli przepis,

71
00:04:11,994 --> 00:04:15,199
który umożliwia obliczenie
danych wyjściowych funkcji.

72
00:04:15,287 --> 00:04:18,191
To definicja techniczna,
ale co ważniejsze:

73
00:04:18,272 --> 00:04:21,239
funkcje są rodzajem wiedzy.

74
00:04:21,320 --> 00:04:25,185
Funkcje są rodzajem wiedzy, a więc
naszym zadaniem jest

75
00:04:25,266 --> 00:04:27,200
powszechne udostępnienie tej wiedzy.

76
00:04:27,281 --> 00:04:29,945
Na razie nie opanowaliśmy jeszcze
zbyt dobrze udostępniania

77
00:04:30,026 --> 00:04:31,207
tego rodzaju wiedzy.

78
00:04:31,288 --> 00:04:35,232
Duże firmy technologiczne udzielają
dostępu do pewnych funkcji.

79
00:04:35,313 --> 00:04:39,154
Zapytajcie Siri, ile łyżeczek mieści się
w dwóch łyżkach, a Siri odpowie.

80
00:04:39,235 --> 00:04:42,239
Ta funkcja działa na waszych telefonach.

81
00:04:42,320 --> 00:04:45,564
Możecie też otworzyć Binga i zapytać,
kiedy założono Wikipedię.

82
00:04:45,645 --> 00:04:49,199
Chociaż Bing jest wyszukiwarką,
nie będzie przeglądać indeksów sieci,

83
00:04:49,280 --> 00:04:52,494
tylko wywoła funkcję korzystającą
z jego grafu wiedzy, Satori,

84
00:04:52,575 --> 00:04:54,374
który jest podobny do naszych Wikidanych.

85
00:04:54,455 --> 00:04:56,660
Weźcie podaną datę,
otwórzcie DuckDuckGo i zapytajcie,

86
00:04:56,741 --> 00:04:58,159
ile dni upłynęło od tej daty.

87
00:04:58,240 --> 00:05:01,676
Po raz kolejny wynik nie będzie
wynikiem wyszukiwania,

88
00:05:01,757 --> 00:05:03,199
ale wynikiem funkcji.

89
00:05:03,280 --> 00:05:08,429
Zapytajcie Google o objętość piramidy,
a otrzymacie wynik idealnie

90
00:05:08,510 --> 00:05:10,199
dostosowany do swoich potrzeb –

91
00:05:10,280 --> 00:05:13,196
odpowiedź zostanie obliczona
przez funkcję.

92
00:05:13,277 --> 00:05:17,545
Ale jeżeli wychodzicie poza tych kilka
idealnie dostosowanych wyników,

93
00:05:17,626 --> 00:05:21,192
które firmy technologiczne postanowiły
udostępnić, to macie pecha.

94
00:05:21,273 --> 00:05:24,585
Chociaż mamy wystarczającą ilość
mocy obliczeniowej, to większość z nas

95
00:05:24,666 --> 00:05:28,191
nie jest w stanie korzystać z tej mocy
do obliczania potrzebnych nam funkcji.

96
00:05:28,272 --> 00:05:31,192
Funkcje są rodzajem wiedzy.

97
00:05:31,273 --> 00:05:34,206
Wiedza to moc.

98
00:05:34,287 --> 00:05:37,232
A funkcje to prawdziwa supermoc,

99
00:05:37,313 --> 00:05:41,160
bo funkcje nie są jedynie wiedzą.
Funkcje mogą

100
00:05:41,241 --> 00:05:44,232
odpowiadać na pytania, których nikt
przedtem nie zadał.

101
00:05:44,313 --> 00:05:46,104
Funkcje tworzą wiedzę.

102
00:05:46,185 --> 00:05:50,192
Co może być większą supermocą
niż tworzenie wiedzy?

103
00:05:50,273 --> 00:05:52,867
Chcemy zdemokratyzować tę supermoc.

104
00:05:52,948 --> 00:05:56,192
Chcemy dać ją każdemu,
kto ma dostęp do sieci.

105
00:05:56,273 --> 00:06:00,239
W tym celu wprowadzimy Wikifunkcje
jako nowy projekt wiki,

106
00:06:00,320 --> 00:06:02,502
w ramach którego
społeczność może tworzyć funkcje

107
00:06:02,583 --> 00:06:05,209
i wykorzystywać funkcje, aby uzyskiwać
odpowiedzi na pytania.

108
00:06:05,290 --> 00:06:08,554
Na kilku następnych slajdach widać kilka
starych projektów próbnych,

109
00:06:08,635 --> 00:06:11,206
które mniej więcej pokazują,
jak miałoby to wyglądać.

110
00:06:11,287 --> 00:06:16,313
Ta wiki będzie miała funkcje takie jak
konwersja łyżek na łyżeczki,

111
00:06:16,394 --> 00:06:19,226
tak jak wcześniej zrobiła to Siri,

112
00:06:19,307 --> 00:06:24,206
obliczanie, ile dni minęło między datami,
tak jak DuckDuckGo,

113
00:06:24,287 --> 00:06:28,602
uwzględnienie bryły geologicznej
załadowanej w Commons i obliczenie,

114
00:06:28,683 --> 00:06:31,192
ile mil kwadratowych zajmuje ta bryła,

115
00:06:31,273 --> 00:06:35,206
albo zapisywanie stringów wspak.

116
00:06:35,287 --> 00:06:39,896
Oto krótka demonstracja,
jak funkcja „na opak” wygląda

117
00:06:39,977 --> 00:06:43,192
w naszym obecnym prototypie.

118
00:06:43,273 --> 00:06:46,820
Widzimy, że funkcja bierze dany string,
tutaj jest argument,

119
00:06:46,901 --> 00:06:49,205
który bierze string i potem go zwraca.

120
00:06:49,286 --> 00:06:53,745
Wykorzystuje jedną implementację
w JavaScripcie, która wygląda tak…

121
00:06:53,826 --> 00:06:58,206
Jest przechowywana na innej stronie
i podlega transkluzji na tej stronie.

122
00:06:58,287 --> 00:07:01,000
Więc jest to funkcja pisząca wspak.

123
00:07:01,081 --> 00:07:04,151
Jeśli chcemy ją wywołać, możemy się udać

124
00:07:04,232 --> 00:07:09,206
na specjalną stronę oceny działania
funkcji („Evaluate function call”)

125
00:07:09,287 --> 00:07:17,007
i wywołać funkcję na przykładowej
wartości „Wikipedia”.

126
00:07:17,088 --> 00:07:21,226
Oto i wynik: „aidepikiW”.

127
00:07:21,307 --> 00:07:26,206
Widoczny tutaj interfejs jest
jeszcze bardzo surowy.

128
00:07:26,287 --> 00:07:30,991
Pracujemy w tej chwili nad pełnym
projektem naszego interfejsu,

129
00:07:31,072 --> 00:07:34,206
a tutaj mamy jego pierwszy podgląd.

130
00:07:34,287 --> 00:07:36,206
Ale wróćmy do wcześniejszych prób.

131
00:07:36,287 --> 00:07:41,206
Tutaj mamy prostą funkcję służącą
do mnożenia liczb dodatnich.

132
00:07:41,287 --> 00:07:44,491
Jak mówiłem wcześniej, uwzględniamy kilka
języków programowania.

133
00:07:44,572 --> 00:07:47,389
Dotychczas zaimplementowaliśmy
JavaScript i Pythona,

134
00:07:47,470 --> 00:07:49,229
ale chcemy włączyć dużo więcej.

135
00:07:49,310 --> 00:07:51,710
Oto jak mnożenie jest implementowane

136
00:07:51,791 --> 00:07:55,192
w JavaScripcie z wykorzystaniem
rodzimego mnożenia.

137
00:07:55,273 --> 00:07:58,239
W Pythonie wygląda to w zasadzie
tak samo.

138
00:07:58,320 --> 00:08:01,606
Implementacja jest tu jednak inna.
W tym przypadku implementujemy

139
00:08:01,687 --> 00:08:04,199
mnożenie w ramach czegoś,
co nazywamy kompozycją.

140
00:08:04,280 --> 00:08:09,492
Zbieramy funkcje, które już istnieją
w Wikifunkcjach, i układamy je razem,

141
00:08:09,573 --> 00:08:13,192
aby zaimplementować jeszcze
potężniejsze funkcje.

142
00:08:13,273 --> 00:08:18,440
Co najciekawsze,
funkcje wykorzystane w kompozycji to

143
00:08:18,521 --> 00:08:21,239
funkcje z samych Wikifunkcji,

144
00:08:21,320 --> 00:08:24,026
z czego każda posiada własną stronę,
własne ZID,

145
00:08:24,107 --> 00:08:27,199
tak samo jak pozycje w Wikidanych
posiadają własne QID,

146
00:08:27,280 --> 00:08:34,264
a więc wypisane tu funkcje:
„add”, „zero” itd. to ZID z etykietami

147
00:08:34,345 --> 00:08:36,192
w innych językach,

148
00:08:36,273 --> 00:08:40,192
a to umożliwia nam zmianę języka.

149
00:08:40,273 --> 00:08:44,199
Tu widzimy tę samą kompozycję
po niemiecku,

150
00:08:44,280 --> 00:08:46,146
a tu po bengalsku.

151
00:08:46,227 --> 00:08:49,107
I nie jest to tylko odczytanie
implementacji po bengalsku,

152
00:08:49,188 --> 00:08:51,206
ale również zapisanie jej po bengalsku.

153
00:08:51,287 --> 00:08:54,158
Dążymy do tego,
aby ludzie mogli tworzyć implementacje

154
00:08:54,239 --> 00:08:56,206
bez znajomości podstaw angielskiego,

155
00:08:56,287 --> 00:08:59,048
co dla wielu osób
będzie olbrzymim ułatwieniem,

156
00:08:59,129 --> 00:09:01,232
jak wielokrotnie
wykazały badania,

157
00:09:01,313 --> 00:09:03,057
w tym badania prowadzone przez

158
00:09:03,138 --> 00:09:06,209
aktywnego uczestnika Wikimanii,
Benjamina Mako Hilla.

159
00:09:06,290 --> 00:09:10,709
Wiele osób będzie mogło
po raz pierwszy pisać implementacje

160
00:09:10,790 --> 00:09:12,193
w swoim ojczystym języku.

161
00:09:12,274 --> 00:09:15,756
Odblokujemy tę supermoc wykorzystywania,

162
00:09:15,837 --> 00:09:20,206
czytania i pisania funkcji dla
setek milionów ludzi.

163
00:09:20,287 --> 00:09:23,372
Jeśli chodzi o Wikifunkcje, będziemy mieć
nową społeczność tworzoną przez

164
00:09:23,453 --> 00:09:25,691
ludzi uczestniczących w bieżących
przedsięwzięciach

165
00:09:25,772 --> 00:09:29,192
oraz nowe osoby, które nigdy przedtem
nie udzielały się w naszych projektach.

166
00:09:29,273 --> 00:09:33,203
Chcemy, aby funkcje były dostępne
na wiele różnych sposobów

167
00:09:33,284 --> 00:09:35,274
i za pośrednictwem wielu różnych
punktów dostępu,

168
00:09:35,355 --> 00:09:37,208
gdziekolwiek tylko będziecie
ich potrzebować:

169
00:09:37,289 --> 00:09:41,790
w sieci, na telefonie, za pośrednictwem
asystenta, za pomocą arkuszy

170
00:09:41,871 --> 00:09:44,192
i oczywiście w projektach Wikimedia.

171
00:09:44,273 --> 00:09:48,940
Chcemy też tworzyć treści wielojęzykowe
za pomocą ekspresyjnych przedstawień

172
00:09:49,021 --> 00:09:51,204
abstrakcyjnych w ponad 300 językach.

173
00:09:51,285 --> 00:09:56,195
Dlatego musimy udostępnić projekt
jak największej liczbie osób.

174
00:09:56,276 --> 00:09:59,377
Musimy zwracać się do osób,
które nie znają angielskiego;

175
00:09:59,458 --> 00:10:02,206
do osób, które nie znają się jeszcze
na kodowaniu.

176
00:10:02,287 --> 00:10:06,416
Mierzymy wysoko,
ale nie ograniczamy się wyłącznie

177
00:10:06,497 --> 00:10:08,199
do programistów mówiących po angielsku.

178
00:10:08,280 --> 00:10:10,565
Prowadzimy na ten temat wiele rozmów,

179
00:10:10,646 --> 00:10:13,192
bo jest to bardzo ambitne zadanie.

180
00:10:13,273 --> 00:10:15,176
Prowadzimy również
badania dot. użytkowników,

181
00:10:15,257 --> 00:10:17,501
aby określić poziom trudności
tego przedsięwzięcia.

182
00:10:17,582 --> 00:10:19,206
Oto jeden zaskakujący przykład:

183
00:10:19,287 --> 00:10:23,443
większość ludzi sądzi, że kodowanie
jest powiązane z wiedzą ścisłą,

184
00:10:23,524 --> 00:10:25,206
ze zdolnościami matematycznymi,

185
00:10:25,287 --> 00:10:28,904
więc wiele osób, które nie uważa się
za umysł ścisły, odrzuca

186
00:10:28,985 --> 00:10:32,209
pomysł kodowania, jeszcze zanim
dokładnie mu się przyjrzy.

187
00:10:32,290 --> 00:10:35,313
Opublikowane w zeszłym roku w „Nature”
badania wykazują jednak brak związku

188
00:10:35,394 --> 00:10:37,240
między przedmiotami ścisłymi
a programowaniem,

189
00:10:37,321 --> 00:10:40,145
za to wskazują na wyraźne
i silne powiązanie między

190
00:10:40,226 --> 00:10:43,342
zdolnościami językowymi a nauką
języków programowania.

191
00:10:43,423 --> 00:10:45,860
Zdolności językowe!

192
00:10:45,941 --> 00:10:51,206
Więc ci sami ludzie, którzy
pracują nad Wikipedią i Wikisłownikami,

193
00:10:51,287 --> 00:10:57,199
to osoby, które miałyby zdolności
i motywację do udziału w tym projekcie.

194
00:10:57,280 --> 00:11:00,206
A potrzebujemy ich, aby pokryć
300 języków.

195
00:11:00,287 --> 00:11:05,159
Musimy sprostać wyzwaniu – jak zobrazować
ten projekt, jak dotrzeć do tych osób,

196
00:11:05,240 --> 00:11:08,991
które w naszych badaniach
użytkowników stwierdzają:

197
00:11:09,072 --> 00:11:11,201
„tego nie muszę rozumieć”
i znikają.

198
00:11:11,282 --> 00:11:14,361
Właśnie dlatego tak istotne jest,
aby odpowiednio zaprezentować

199
00:11:14,442 --> 00:11:16,583
ten projekt, aby przedstawić go
jako ciekawy.

200
00:11:16,664 --> 00:11:20,250
Oto dwa wczesne kamienie milowe,
które chcemy osiągnąć w tym roku:

201
00:11:20,331 --> 00:11:23,192
„paradygmaty i odmiana” oraz
„opisy abstrakcyjne”.

202
00:11:23,273 --> 00:11:26,233
Pierwszy polega na stworzeniu funkcji,
które potrafią generować regularne

203
00:11:26,314 --> 00:11:28,272
odmiany wszelkiego rodzaju słów
w każdym języku.

204
00:11:28,353 --> 00:11:33,206
Można by je wykorzystywać przy treściach
leksykograficznych w Wikidanych

205
00:11:33,287 --> 00:11:36,192
albo w tabelach fleksyjnych
w Wikisłownikach.

206
00:11:36,273 --> 00:11:40,193
Ale zamiast implementować te odmiany
w około 160 różnych Wikisłownikach

207
00:11:40,274 --> 00:11:43,194
z osobna (za pomocą szablonów,
modułów czy manualnie),

208
00:11:43,275 --> 00:11:48,368
możemy zaimplementować je w Wikifunkcjach
i udostępnić je wszystkim Wikisłownikom,

209
00:11:48,449 --> 00:11:51,202
a także Wikidanym
oraz Abstrakcyjnej Wikipedii.

210
00:11:51,283 --> 00:11:53,192
Opisy abstrakcyjne.

211
00:11:53,273 --> 00:11:57,199
Każda pozycja w Wikidanych ma swój opis
we wszystkich językach.

212
00:11:57,280 --> 00:12:00,859
Zanim jednak będziemy mogli wygenerować
całe artykuły dla Abstrakcyjnej Wikipedii,

213
00:12:00,940 --> 00:12:03,199
będziemy w stanie generować
frazy nominalne.

214
00:12:03,280 --> 00:12:05,843
A opisy? To zwykle właśnie
frazy nominalne.

215
00:12:05,924 --> 00:12:09,206
Dlatego naszym kolejnym wczesnym
kamieniem milowym jest stworzenie

216
00:12:09,287 --> 00:12:11,192
abstrakcyjnych opisów dla Wikidanych.

217
00:12:11,273 --> 00:12:16,192
W 2021 r. zajmowaliśmy się rozwojem
Wikifunkcji i nagłośnieniem projektu.

218
00:12:16,273 --> 00:12:20,194
W 2022 r. skupimy się
na Abstrakcyjnej Wikipedii, pracy

219
00:12:20,275 --> 00:12:24,199
nad wczesnymi kamieniami milowymi,
paradygmatami i opisami abstrakcyjnymi.

220
00:12:24,280 --> 00:12:28,359
W 2023 r. w końcu będziemy mogli
tworzyć treści

221
00:12:28,440 --> 00:12:30,206
abstrakcyjne oraz czytać treści

222
00:12:30,287 --> 00:12:35,198
i pracować nad nimi
w wielu różnych językach.

223
00:12:35,279 --> 00:12:40,232
Będziemy mieli prawdziwie wielojęzykową
Wikipedię, co przybliży nas do świata,

224
00:12:40,313 --> 00:12:44,206
w którym każdy będzie mógł korzystać
z pełnego zasobu wiedzy.

225
00:12:44,287 --> 00:12:46,620
Dziękuję za uwagę.

226
00:12:54,188 --> 00:12:56,036
Dzień dobry.

227
00:12:56,117 --> 00:12:57,658
Dziękuję za obejrzenie filmiku,

228
00:12:57,739 --> 00:13:00,309
nie będziemy go oglądać ponownie,
raz chyba wystarczy.

229
00:13:00,390 --> 00:13:03,293
Jeśli chcecie obejrzeć go drugi raz,
to jest dostępny na YouTubie,

230
00:13:03,374 --> 00:13:04,858
link będzie podany.

231
00:13:05,919 --> 00:13:08,785
Cześć wszystkim, miło was widzieć.

232
00:13:08,866 --> 00:13:12,567
Niestety nie widzę większości z was,
widzę tylko biorących udział w panelu,

233
00:13:12,648 --> 00:13:14,967
ale nie wiem, kto nas ogląda.

234
00:13:19,817 --> 00:13:24,000
Po filmiku, który obejrzeliśmy,
zaczniemy może od krótkiego

235
00:13:24,081 --> 00:13:26,014
przedstawienia uczestników panelu.

236
00:13:26,110 --> 00:13:28,019
Potem przejdziemy do pytań.

237
00:13:28,100 --> 00:13:30,500
Zachęcam was wszystkich do ich zadawania,

238
00:13:30,581 --> 00:13:34,800
żeby wytworzyła nam się żywa dyskusja.

239
00:13:35,081 --> 00:13:37,301
Właśnie na dyskusji najbardziej
nam zależy.

240
00:13:37,382 --> 00:13:40,115
W zasadzie nie mam pojęcia, jak sprawić,

241
00:13:40,196 --> 00:13:44,676
żeby zrodziła nam się tutaj dyskusja,
ale podołamy.

242
00:13:45,049 --> 00:13:50,143
Sugeruję, żebyśmy zaczęli zapoznawanie się
od góry do dołu, od lewej do prawej.

243
00:13:50,224 --> 00:13:51,957
James, możemy prosić?

244
00:13:52,350 --> 00:13:53,350
Cześć.

245
00:13:53,431 --> 00:13:58,367
Nazywam się James Forester, pracuję
dla fundacji Wikimedia od 2012 r.

246
00:13:58,741 --> 00:14:02,800
Dołączyłem do ruchu Wikimedia jako
wolontariusz w 2002 r.,

247
00:14:03,129 --> 00:14:05,000
czyli jestem tu już od jakiegoś czasu.

248
00:14:05,081 --> 00:14:09,567
Byłem też na kilku eventach,
więc część z was może mnie już kojarzyć.

249
00:14:09,901 --> 00:14:14,957
Jestem głównym inżynierem, a zadaniem
moim i innych inżynierów jest

250
00:14:15,038 --> 00:14:18,750
urzeczywistnienie marzeń Denny’ego
w ramach oprogramowania.

251
00:14:19,385 --> 00:14:22,377
Przekazuję głos Lucasowi.

252
00:14:23,187 --> 00:14:25,399
Cześć, mam na imię Lucas.

253
00:14:25,480 --> 00:14:28,780
Przez dłuższy czas
byłem miłośnikiem Wikidanych.

254
00:14:29,131 --> 00:14:32,748
Potem w końcu zacząłem się interesować
Abstrakcyjną Wikipedią,

255
00:14:32,837 --> 00:14:35,114
bo wydała mi się dość ciekawa.

256
00:14:35,749 --> 00:14:38,985
Pracuję nad alternatywną implementacją,

257
00:14:39,066 --> 00:14:41,495
która rzeczywiście mogłaby
wprowadzić te funkcje,

258
00:14:41,576 --> 00:14:44,392
jeżeli chcielibyście je wykorzystać
poza kontekstem wiki.

259
00:14:44,473 --> 00:14:48,500
Ostatnio ten projekt trochę podupadł,
ale może jeszcze do niego wrócę.

260
00:14:48,581 --> 00:14:52,500
Zajmuję się też prowadzeniem wiki
testowej pod nazwą „Not Wikilambda”,

261
00:14:52,581 --> 00:14:55,867
na której można wypróbować
oprogramowanie.

262
00:14:56,494 --> 00:14:58,597
Na stronie głównej
jest wielka notka,

263
00:14:58,678 --> 00:15:01,190
żeby nie traktować tego
jako gotowy produkt,

264
00:15:01,271 --> 00:15:03,700
bo nawet nie pytałem
deweloperów, czy mogę

265
00:15:03,781 --> 00:15:05,979
otworzyć tę wiki,
po prostu ją odpaliłem.

266
00:15:06,060 --> 00:15:09,300
Na razie jest w porządku, ale jeśli
chcecie zobaczyć oprogramowanie w stanie,

267
00:15:09,381 --> 00:15:11,646
w jakim jest obecnie, to możecie
skorzystać z tej wiki.

268
00:15:11,727 --> 00:15:14,266
Sądzę, że w tej chwili
wszystko mniej więcej działa.

269
00:15:14,553 --> 00:15:16,233
Przekazuję głos Geno.

270
00:15:19,664 --> 00:15:20,574
Cześć!

271
00:15:21,259 --> 00:15:24,067
Nazywam się Geno, nadaję z Hiszpanii.

272
00:15:24,844 --> 00:15:30,700
Należę do Wikimedia Foundation
od ośmiu miesięcy

273
00:15:31,788 --> 00:15:35,469
i przez cały ten czas jestem członkinią
zespołu ds. Abstrakcyjnej Wikipedii.

274
00:15:35,550 --> 00:15:37,430
Jestem też inżynierką oprogramowania.

275
00:15:37,511 --> 00:15:39,661
Razem z zespołem pracujemy nad tym,

276
00:15:39,742 --> 00:15:42,333
aby to oprogramowanie
stało się rzeczywistością.

277
00:15:42,939 --> 00:15:45,667
Oddaję głos Arthurowi Smithowi.

278
00:15:57,160 --> 00:15:59,760
Przepraszam, mały problem
z wyciszeniem.

279
00:16:00,098 --> 00:16:02,042
Jestem Arthur

280
00:16:03,098 --> 00:16:08,800
i nie należę do Wikimedia Foundation,
niemieckiej Wikipedii itp.

281
00:16:09,019 --> 00:16:11,219
Jestem zewnętrznym wolontariuszem.

282
00:16:11,300 --> 00:16:15,296
W ciągu dnia pracuję, więc nie mam
zbyt wiele czasu,

283
00:16:17,923 --> 00:16:22,184
ale tak jak Lucas jestem zafascynowany
Wikidanymi już od jakichś pięciu lat.

284
00:16:25,355 --> 00:16:28,927
Słuchałem uważnie, kiedy Denny mówił
o Abstrakcyjnej Wikipedii.

285
00:16:29,008 --> 00:16:35,312
Przyglądałem się dokładnie kodowi,
który stworzył

286
00:16:36,455 --> 00:16:38,945
jako prekursor całego
projektu Wikifunkcji, więc w pewnym

287
00:16:39,026 --> 00:16:41,130
sensie jestem zaangażowany
od samego początku,

288
00:16:41,249 --> 00:16:44,772
z tym że jako zewnętrzny wolontariusz,
który raz na jakiś czas coś napisze.

289
00:16:44,853 --> 00:16:46,495
Świetnie się przy tym bawię.

290
00:16:46,700 --> 00:16:48,600
Zdaje się, że następny jest Nick?

291
00:16:50,090 --> 00:16:50,924
Cześć!

292
00:16:51,005 --> 00:16:53,723
Tutaj użytkownik Quiddity, znany też
jako Nick Wilson.

293
00:16:53,804 --> 00:16:56,032
Pracuję z zespołem
ds. Abstrakcyjnej Wikipedii

294
00:16:56,113 --> 00:16:57,858
w zakresie relacji ze społecznością.

295
00:16:57,939 --> 00:17:01,467
Mieszkam w Kanadzie i jestem
wolontariuszem od 2005 r.

296
00:17:02,184 --> 00:17:03,784
Oddaję głos Lindsay.

297
00:17:04,795 --> 00:17:07,105
Cześć! Jestem Lindsay Wardell,
używam zaimków ona/jej.

298
00:17:07,186 --> 00:17:09,733
Jestem konsultantką z This Dot Labs,

299
00:17:09,938 --> 00:17:12,567
pracę nad tym projektem zaczęłam
w tym roku.

300
00:17:12,821 --> 00:17:17,091
Skupiam się przede wszystkim na tworzeniu
front-endu, żeby funkcje można było

301
00:17:17,172 --> 00:17:19,572
tworzyć i uruchamiać w przeglądarce.

302
00:17:20,448 --> 00:17:23,748
Praca nad tym projektem to świetna zabawa
i cieszę się, że mogę w nim uczestniczyć.

303
00:17:23,829 --> 00:17:25,562
Przekazuję głos Arthurowi.

304
00:17:26,401 --> 00:17:28,081
Cześć, jestem Arthur.

305
00:17:28,806 --> 00:17:30,246
Jestem z Brazylii.

306
00:17:30,377 --> 00:17:33,051
Tak jak drugi Arthur, jestem

307
00:17:33,726 --> 00:17:35,472
wolontariuszem w tym projekcie.

308
00:17:35,553 --> 00:17:37,420
Pracuję nad doktoratem dotyczącym

309
00:17:37,501 --> 00:17:40,129
generacji tekstu naturalnego,

310
00:17:40,210 --> 00:17:43,939
więc interesuję się tym projektem
z tej perspektywy,

311
00:17:44,020 --> 00:17:45,980
a także jako członek społeczności.

312
00:17:46,099 --> 00:17:50,833
Interesuje mnie wszystko, co jest związane
z energią i konstrukcją gramatyczną.

313
00:17:51,805 --> 00:17:53,538
Dalej oddaję głos Adamowi.

314
00:17:54,631 --> 00:17:58,138
Cześć, nazywam się Adam Boswell
i jestem z Minneapolis.

315
00:17:58,219 --> 00:18:01,667
Jestem dyrektorem inżynierii
w Wikimedia Foundation

316
00:18:01,748 --> 00:18:05,503
i wspieram Abstrakcyjną Wikipedię
oraz Wikifunkcje.

317
00:18:06,345 --> 00:18:09,004
Pamiętam, że kiedy pierwszy raz
dowiedziałem się o Wikidanych,

318
00:18:09,085 --> 00:18:12,567
pomyślałem sobie,
że świetnie byłoby opracować system

319
00:18:12,648 --> 00:18:15,381
tworzący funkcje operujące
Wikidanymi.

320
00:18:15,462 --> 00:18:19,100
Okazało się, że są już ludzie,
którzy o tym myślą,

321
00:18:19,181 --> 00:18:21,866
więc bardzo się cieszę,
że mogę pracować w tej grupie.

322
00:18:22,041 --> 00:18:22,875
Cory?

323
00:18:23,334 --> 00:18:26,596
[zakłócenia]

324
00:18:29,604 --> 00:18:31,604
Przepraszam.
Czy teraz lepiej?

325
00:18:52,249 --> 00:18:55,033
Możemy werbalnie przedstawić
Cory’ego Massaro.

326
00:18:55,114 --> 00:18:59,333
To inżynier oprogramowania pracujący
z zespołem ds. Abstrakcyjnej Wikipedii.

327
00:19:00,146 --> 00:19:01,866
Bardzo dziękujemy, że z nami jesteś, Cory.

328
00:19:01,947 --> 00:19:03,796
Przykro nam z powodu
problemów technicznych.

329
00:19:03,877 --> 00:19:07,400
Przejdźmy do pytań i odpowiedzi.

330
00:19:07,757 --> 00:19:11,469
A więc pierwsze pytanie,
które otrzymaliśmy na czacie, brzmi:

331
00:19:11,550 --> 00:19:13,483
„Co z różnicami kulturowymi?”.

332
00:19:14,391 --> 00:19:17,200
Szeroko zakrojony problem
natury abstrakcyjnej.

333
00:19:18,153 --> 00:19:20,487
Czy ktoś chciałby się wypowiedzieć?

334
00:19:21,082 --> 00:19:24,247
Właściwie to Cory przygląda się temu
zagadnieniu dokładniej.

335
00:19:24,328 --> 00:19:26,460
Nie wiem tylko, czy może nam
udzielić odpowiedzi.

336
00:19:26,541 --> 00:19:28,408
Może spróbujemy jeszcze raz?

337
00:19:29,026 --> 00:19:31,093
Czy teraz można mnie zrozumieć?

338
00:19:31,933 --> 00:19:33,800
To dobrze. Przepraszam.

339
00:19:33,941 --> 00:19:38,233
Mam ostatnio problemy z mikrofonem,
co cały zespół może potwierdzić.

340
00:19:39,703 --> 00:19:44,267
Mnie również szalenie interesuje
ten właśnie problem.

341
00:19:45,410 --> 00:19:48,933
Myślę, że jednym z napięć zawsze jest…

342
00:19:49,806 --> 00:19:53,500
W tej chwili na Wikipedii istnieją
różnorodne perspektywy.

343
00:19:55,430 --> 00:19:57,163
Szkoda byłoby to zatracić.

344
00:19:58,179 --> 00:20:01,046
Jest kilka różnych podejść
do tego problemu.

345
00:20:01,127 --> 00:20:03,901
Trwają już prace dotyczące dezinformacji.

346
00:20:04,250 --> 00:20:06,733
Jest to w zasadzie kwestia
odnosząca się

347
00:20:06,814 --> 00:20:08,514
do zagadnienia błędnych informacji.

348
00:20:09,029 --> 00:20:11,560
Ale możemy też odwrócić wiele
tych samych technik,

349
00:20:11,641 --> 00:20:13,237
aby zadawać pytania takie jak:

350
00:20:13,318 --> 00:20:18,167
„w którym miejscu informacje na Wikipedii
różnią się między językami?”.

351
00:20:18,484 --> 00:20:22,626
Powinniśmy więc zastanowić się,

352
00:20:23,221 --> 00:20:28,050
jaką podejmiemy decyzję, jeśli
między językami jest znacząca różnica,

353
00:20:28,146 --> 00:20:31,933
którą chcemy odzwierciedlić,
by udoskonalić nasz zbiór danych.

354
00:20:32,014 --> 00:20:36,967
Są z tym powiązane również
inne zagadnienia,

355
00:20:37,533 --> 00:20:41,644
np. różne języki mogą preferować różne
struktury narracji;

356
00:20:41,725 --> 00:20:44,458
mogą preferować różne topologie
artykułów.

357
00:20:45,946 --> 00:20:50,167
W jednym języku może istnieć mnóstwo
powiązanych ze sobą

358
00:20:50,248 --> 00:20:52,540
artykułów na dany temat, których
nie ma w innym języku.

359
00:20:52,621 --> 00:20:54,167
Np. jeden artykuł może zawierać

360
00:20:54,248 --> 00:20:57,967
kontrowersje związane z jakimś
kandydatem politycznym pod nagłówkiem

361
00:20:58,048 --> 00:21:01,190
związanym z kandydaturą tej osoby,
a w innym artykule może być to

362
00:21:01,271 --> 00:21:03,034
uznane za coś niezmiernie ważnego.

363
00:21:03,115 --> 00:21:05,748
Część z tych różnic może mieć
duże znaczenie

364
00:21:05,829 --> 00:21:09,257
narracyjne w niektórych
językach, inne niekoniecznie.

365
00:21:14,290 --> 00:21:16,267
Wydaje się, że jest to problem.

366
00:21:17,035 --> 00:21:19,620
Jeżeli umieścimy wszystkie
informacje w Wikidanych

367
00:21:19,701 --> 00:21:22,153
i zaczniemy generować artykuły,
stracimy różnorodność.

368
00:21:22,234 --> 00:21:25,800
Myślę jednak, że jest to też okazja,

369
00:21:25,881 --> 00:21:28,845
ponieważ mamy informacje, które
mogą się znajdować na jednej,

370
00:21:28,926 --> 00:21:30,367
stosunkowo niewielkiej Wikipedii,

371
00:21:30,448 --> 00:21:32,788
ale są za to bardzo znaczące
w kontekście spraw dotyczących

372
00:21:32,869 --> 00:21:34,167
tej jednej społeczności.

373
00:21:34,248 --> 00:21:36,906
Wtedy możemy wykorzystać te
informacje, żeby generować artykuły

374
00:21:36,987 --> 00:21:38,527
w innych językach.

375
00:21:38,638 --> 00:21:42,333
Więc może się okazać, że nie jest to
forma cyfrowej kolonizacji,

376
00:21:42,414 --> 00:21:45,500
ale forma megafonu
dla mniejszych Wikipedii.

377
00:21:46,591 --> 00:21:50,495
Pracuję nad tym, to są problemy,
które staramy się rozwiązać.

378
00:21:51,202 --> 00:21:54,068
Chcemy zachować różnice kulturowe,

379
00:21:54,257 --> 00:21:56,749
chcemy podejść do nich z szacunkiem.

380
00:21:58,210 --> 00:22:00,622
Zgadzam się ze wszystkim, o czym

381
00:22:01,431 --> 00:22:04,033
mówi Cory, ale chciałbym dodać,

382
00:22:04,179 --> 00:22:08,592
że Abstrakcyjna Wikipedia nie powstaje
po to, by zastąpić obecne Wikipedie.

383
00:22:09,156 --> 00:22:13,267
Ma ona wypełnić luki w wiedzy,
które pojawiają się na Wikipediach.

384
00:22:13,822 --> 00:22:19,000
Oczekuję, że większość artykułów
odnoszących się do naszej

385
00:22:19,081 --> 00:22:22,739
kultury będzie miało swoje
lokalne odpowiedniki, nie tylko tekst

386
00:22:22,820 --> 00:22:24,500
pochodzący z Abstrakcyjnej Wikipedii.

387
00:22:24,581 --> 00:22:28,096
I tak będziemy mieć lokalne artykuły
na tego typu tematy.

388
00:22:28,833 --> 00:22:36,810
Nie oczekuję, że Abstrakcyjna Wikipedia
będzie generować istotne kulturowo

389
00:22:36,891 --> 00:22:42,967
artykuły dla kultur, do których
te artykuły mają się odnosić.

390
00:22:43,098 --> 00:22:47,642
Zakładam, że będą one wykorzystywane
dla języków,

391
00:22:47,955 --> 00:22:50,855
w których takie treści
jeszcze nie istnieją.

392
00:22:51,288 --> 00:22:55,768
Zawsze będzie można więc wejść
w artykuł i zastąpić go treścią lokalną.

393
00:22:57,558 --> 00:22:59,692
A wchodząc w to jeszcze głębiej,

394
00:23:00,638 --> 00:23:04,860
teraz, kiedy myślimy o Wikipediach,
to są one kulturowo zaglomerowane

395
00:23:04,941 --> 00:23:09,037
na konkretnym poziomie, który nazywamy
wersją językową Wikipedii.

396
00:23:09,209 --> 00:23:11,142
Te jednak są dość arbitralne.

397
00:23:12,471 --> 00:23:15,733
Mamy jedną angielską Wikipedię,
a nie, powiedzmy, siedem różnych.

398
00:23:16,122 --> 00:23:19,088
Nikt nie prowadzi
indo-angielskiej Wikipedii.

399
00:23:19,193 --> 00:23:20,582
A może powinniśmy?

400
00:23:20,663 --> 00:23:25,533
Treści, które powstaną dzięki
Abstrakcyjnej Wikipedii, będą mogły być

401
00:23:25,614 --> 00:23:28,606
lokalizowane dokładniej niż w ramach
jednego makrojęzyka,

402
00:23:28,687 --> 00:23:31,398
będą mogły być silniej zakotwiczone
w lokalnej Wikipedii.

403
00:23:31,479 --> 00:23:34,986
Mogą zawierać np. slang
w północnoamerykańskim angielskim

404
00:23:35,067 --> 00:23:37,248
używanym na zachodnim wybrzeżu USA.

405
00:23:37,376 --> 00:23:42,067
Mogą zawierać coś, co dotyczy
wszystkich wersji i odmian chińskiego.

406
00:23:42,249 --> 00:23:46,473
I to nie my, jako kodujący czy
twórcy systemu, decydowalibyśmy o tym.

407
00:23:46,749 --> 00:23:48,949
To sama społeczność decydowałaby,

408
00:23:49,034 --> 00:23:52,653
co jest idiomatycznie odpowiednie
dla tworzenia treści spełniającej swoje

409
00:23:52,734 --> 00:23:56,958
zadanie, która równoważy pracę
społeczności na rzecz jej stworzenia

410
00:23:57,039 --> 00:24:00,745
i wartość dla odbiorców otrzymujących
coś, co będzie dla nich naturalne

411
00:24:00,826 --> 00:24:02,692
w ich kontekście kulturowym.

412
00:24:09,532 --> 00:24:13,532
Bardzo podoba mi się to pytanie
i chciałbym podkreślić,

413
00:24:13,613 --> 00:24:17,692
że ta kwestia jest dla nas
niezwykle ważna.

414
00:24:20,476 --> 00:24:22,705
Przykładamy dużą wagę do tego
typu zagadnień.

415
00:24:22,786 --> 00:24:25,500
Czy tworzymy coś, co może
prowadzić do większej równości

416
00:24:25,581 --> 00:24:27,913
w dostępie do wiedzy niż zwykła
różnorodność wiedzy?

417
00:24:27,994 --> 00:24:31,767
Czy jest to coś, co mogłoby ją ograniczyć?

418
00:24:33,388 --> 00:24:35,233
Zdajemy sobie sprawę,

419
00:24:35,929 --> 00:24:37,381
że system, który budujemy,

420
00:24:37,462 --> 00:24:41,389
może się okazać naprawdę potężny,
w związku z czym należy go połączyć

421
00:24:42,342 --> 00:24:44,387
z obecnym ekosystemem,

422
00:24:44,468 --> 00:24:49,890
aby nie zmniejszyć różnorodności,
nie uciszyć głosów z całego świata.

423
00:24:57,904 --> 00:25:00,233
Nick, przejdziemy do następnego pytania?

424
00:25:00,365 --> 00:25:02,133
Kolejne pytanie z czata brzmi:

425
00:25:02,214 --> 00:25:05,286
Czy możemy pisać funkcje,
które generują funkcje?

426
00:25:07,133 --> 00:25:09,733
Jeszcze nie, ale tak,
będziemy w stanie to robić.

427
00:25:11,990 --> 00:25:14,673
Właściwie to jesteśmy już bardzo blisko.

428
00:25:15,816 --> 00:25:19,272
W następnej fazie będziemy planować
korzystanie z tej opcji.

429
00:25:20,387 --> 00:25:24,867
Wspomnę tylko, że podzieliliśmy
prace rozwojowe na 11 faz.

430
00:25:25,808 --> 00:25:28,408
Jeśli dobrze liczę, to ukończyliśmy już

431
00:25:29,252 --> 00:25:32,985
5 z nich i jesteśmy w fazie 6.

432
00:25:36,382 --> 00:25:38,849
Możliwość tworzenia funkcji

433
00:25:39,233 --> 00:25:42,233
za pomocą funkcji
będzie w następnej fazie.

434
00:25:42,517 --> 00:25:46,612
Będzie to przydatne
na wielu płaszczyznach,

435
00:25:46,693 --> 00:25:49,770
w szczególności z punktu widzenia
generyków itp.

436
00:25:51,723 --> 00:25:54,310
Więc tak, planujemy uwzględnić tę opcję.

437
00:25:58,779 --> 00:26:00,512
Następne pytanie z czata:

438
00:26:01,017 --> 00:26:04,556
Jak to nowe oprogramowanie będzie
chroniło przed atakami DDoS?

439
00:26:04,937 --> 00:26:08,366
Czy serwery Wikimediów są w stanie
przeprowadzać takie ilości obliczeń

440
00:26:08,447 --> 00:26:09,667
w czasie rzeczywistym?

441
00:26:10,646 --> 00:26:13,300
To chyba pytanie do mnie.

442
00:26:14,765 --> 00:26:18,700
Krótka odpowiedź brzmi:
nie wiemy.

443
00:26:19,027 --> 00:26:22,168
Mamy pewne plany, ale czy to planowane
rozwiązanie będzie

444
00:26:22,249 --> 00:26:26,733
wystarczające, okaże się dopiero
na etapie produktu końcowego.

445
00:26:27,630 --> 00:26:29,796
Ujmijmy to w dwóch częściach.

446
00:26:36,915 --> 00:26:40,248
Podczas pisania kodu przeprowadzany
jest zestaw testów:

447
00:26:40,329 --> 00:26:43,967
będzie można uruchomić ten kod
i sprawdzić, czy tworzy odpowiedzi.

448
00:26:44,048 --> 00:26:47,100
Kiedy już przejdzie testy i społeczność
zatwierdzi go jako funkcję,

449
00:26:47,181 --> 00:26:54,109
którą można wywołać,
będzie to mógł zrobić każdy.

450
00:26:54,465 --> 00:26:57,996
Wtedy będzie można używać tej funkcji
w kontekście artykułów na Wikipedii.

451
00:26:58,489 --> 00:27:02,407
Wyniki tych funkcji będziemy z kolei
zapisywać w pamięci podręcznej,

452
00:27:02,488 --> 00:27:08,467
więc nawet jeśli wygenerowanie odpowiedzi
zajmie 5 sekund, to trzeba będzie

453
00:27:08,548 --> 00:27:13,025
zrobić to tylko jeden czy dwa razy.

454
00:27:14,673 --> 00:27:18,800
To świetnie, jeśli zadajesz dane
pytanie po raz drugi,

455
00:27:18,881 --> 00:27:22,667
ale czekanie przez te 5 sekund
będzie uciążliwe za pierwszym razem.

456
00:27:22,841 --> 00:27:25,428
Tu zaczyna się więc druga część
naszej pracy,

457
00:27:26,238 --> 00:27:30,400
czyli przemyślenie tego,
jak funkcjonuje MediaWiki,

458
00:27:30,481 --> 00:27:34,667
żeby umożliwić asynchroniczny
zastrzyk treści do artykułów.

459
00:27:34,748 --> 00:27:38,797
Naciśniecie „Zapisz” i pojawi się artykuł,
ale wyskoczy małe okienko z tekstem:

460
00:27:38,878 --> 00:27:39,973
„Jeszcze niedostępne”.

461
00:27:40,054 --> 00:27:43,533
Dopiero potem, po kilku sekundach,
pojawi się wygenerowana wartość.

462
00:27:44,265 --> 00:27:47,186
Wszystko po to, żeby można było
normalnie edytować – bez konieczności

463
00:27:47,267 --> 00:27:50,300
czekania 5 sekund czy 5 minut,
aż strona będzie gotowa do zapisania.

464
00:27:50,381 --> 00:27:53,767
I oczywiście, żeby strona nie padła.

465
00:27:55,258 --> 00:28:01,267
Jeżeli chodzi więc o to, jak możemy
zapobiegać atakom DDoS,

466
00:28:01,520 --> 00:28:05,488
to oczywiście będziemy mieć w systemie
limit przepustowości, przy czym te limity

467
00:28:05,569 --> 00:28:08,726
będą przypisane do użytkownika,
zapytania albo funkcji.

468
00:28:08,807 --> 00:28:13,287
Będzie mnóstwo różnych ograniczeń,
żeby to wszystko zupełnie nie padło.

469
00:28:13,870 --> 00:28:15,759
I w końcu w odniesieniu do pytania,

470
00:28:15,840 --> 00:28:18,903
czy nasze serwery są w stanie udźwignąć
taką ilość obliczeń.

471
00:28:20,306 --> 00:28:22,933
Mamy nadzieję, że nie będzie się to
działo w czasie rzeczywistym.

472
00:28:23,014 --> 00:28:25,414
Za każdym lub prawie za każdym razem

473
00:28:25,495 --> 00:28:28,395
wyświetlane będą wyniki
z pamięci podręcznej.

474
00:28:32,580 --> 00:28:34,882
Jak najbardziej jesteśmy w stanie
zakupić więcej serwerów,

475
00:28:34,963 --> 00:28:36,850
jeżeli tylko społeczność
będzie ich potrzebować.

476
00:28:36,931 --> 00:28:39,404
Jesteśmy po to,
żeby wspierać naszą społeczność,

477
00:28:39,485 --> 00:28:42,307
więc jeśli konieczne będzie
zwiększenie liczby serwerów,

478
00:28:42,388 --> 00:28:44,962
kupimy je albo wypożyczymy
przestrzeń serwerową

479
00:28:45,043 --> 00:28:49,500
w chmurze, w zależności od tego,
co będzie najlepszym rozwiązaniem.

480
00:28:49,581 --> 00:28:55,597
Będą też różne silniki oceny
i różne wersje tej samej funkcji,

481
00:28:55,678 --> 00:28:59,774
więc bardzo łatwo będzie napisać
dość śmieszną funkcję dodatkową,

482
00:28:59,855 --> 00:29:02,200
w której znajdzie się komenda uśpienia
na 5 sekund

483
00:29:02,345 --> 00:29:04,800
i która potem zwróci nam
2 plus 2.

484
00:29:04,996 --> 00:29:12,067
To od społeczności zależy, jakie metody
czy implementacje zostaną zatwierdzone,

485
00:29:12,312 --> 00:29:14,637
ale oprogramowanie samo z siebie zauważy:

486
00:29:14,718 --> 00:29:17,461
„Mam tutaj wersję w Pythonie,
która zwraca odpowiedź

487
00:29:17,542 --> 00:29:20,786
w 0,001 sekundy i wersję
w JavaScripcie, która zajmie 3 minuty,

488
00:29:20,867 --> 00:29:24,882
więc zawsze będę wywoływać
wersję w Pythonie”.

489
00:29:26,280 --> 00:29:29,167
Jestem pewien, że inni też mają
przemyślenia na ten temat.

490
00:29:29,800 --> 00:29:30,634
Lucas?

491
00:29:31,614 --> 00:29:35,867
Tak, mogę tu dodać, że nie wszystkie
obliczenia muszą się odbywać

492
00:29:35,948 --> 00:29:37,733
na serwerach Wikimediów.

493
00:29:38,612 --> 00:29:42,733
Mamy nadzieję, że pojawią się też inne
programy oceniające

494
00:29:42,814 --> 00:29:46,436
funkcje z Wikifunkcji,
niektóre mogłyby działać

495
00:29:46,517 --> 00:29:50,433
na telefonie, inne na serwerach
Apple’a, na których działa Siri.

496
00:29:53,334 --> 00:29:55,801
Sądzę też, że między innymi dlatego

497
00:29:56,644 --> 00:30:00,175
wszystkie te funkcje mogą zostać
napisane lub mieć wiele różnych

498
00:30:00,256 --> 00:30:02,800
implementacji w wielu różnych
językach programowania.

499
00:30:02,946 --> 00:30:06,755
Być może to, co tworzę teraz, nie będzie
wspierać implementacji napisanych w Lua

500
00:30:06,836 --> 00:30:08,532
czy jakimkolwiek innym języku.

501
00:30:09,455 --> 00:30:12,367
Wtedy po prostu musiałbym wybrać
inny język programowania.

502
00:30:12,858 --> 00:30:15,072
Ktoś inny może za to później wykorzystać

503
00:30:15,153 --> 00:30:18,289
implementację w Lua, co może się okazać
bardziej wydajne.

504
00:30:28,389 --> 00:30:31,078
Ktoś ma jeszcze jakieś przemyślenia
na ten temat?

505
00:30:33,738 --> 00:30:34,572
Dobrze.

506
00:30:34,833 --> 00:30:37,031
Nick, przejdźmy do następnego pytania.

507
00:30:38,119 --> 00:30:39,277
Czwarte pytanie brzmi:

508
00:30:39,358 --> 00:30:43,567
Czy będzie można przetłumaczyć kod
z jednego języka programowania na drugi?

509
00:30:43,794 --> 00:30:45,667
Na przykład: czy będzie można

510
00:30:45,748 --> 00:30:49,833
wprowadzić kompozycję funkcji
i uzyskać implementację w JavaScripcie?

511
00:30:54,530 --> 00:30:59,074
Ja zawsze z chęcią odpowiadam,
ale może teraz ktoś inny?

512
00:31:01,388 --> 00:31:07,033
Aby z kompozycji
funkcji przejść do JavaScriptu…

513
00:31:07,847 --> 00:31:10,900
Zaczynanie od kompozycji
funkcji to wyjątkowy przypadek.

514
00:31:10,981 --> 00:31:13,114
Zasadniczo nie planujemy tworzyć

515
00:31:13,624 --> 00:31:17,672
translatorów z jednego języka
programowania na inny.

516
00:31:20,108 --> 00:31:23,633
Kompozycja funkcji nie jest językiem
programowania, to po prostu

517
00:31:23,714 --> 00:31:28,278
kombinacja istniejących już funkcji.
Można więc na to spojrzeć tak:

518
00:31:28,722 --> 00:31:34,062
jeśli macie funkcje, które wykorzystano
w kompozycji w konkretnym języku,

519
00:31:34,143 --> 00:31:38,753
to właściwie możecie skompilować
złożoną z nich funkcję.

520
00:31:39,397 --> 00:31:43,960
To jedyny przypadek,
w którym zakładamy

521
00:31:44,041 --> 00:31:46,746
tworzenie, syntezę kodu programowania

522
00:31:49,341 --> 00:31:52,797
dla konkretnej funkcji na podstawie
własnej kompozycji.

523
00:31:53,103 --> 00:31:56,879
To dość proste w większości
języków programowania.

524
00:31:57,310 --> 00:32:00,233
Nie obiecujemy więc tego dla każdego
języka programowania, ale w przypadku

525
00:32:00,314 --> 00:32:03,300
większości z nich można to zrobić
w bardzo prosty sposób.

526
00:32:03,381 --> 00:32:06,433
Jeżeli np. wprowadzicie
implementację w Pythonie,

527
00:32:07,484 --> 00:32:10,900
to nie oczekuję, że będziemy mieć
narzędzie, które automatycznie

528
00:32:10,981 --> 00:32:12,981
tłumaczyłoby ją na JavaScript.

529
00:32:13,643 --> 00:32:16,349
Nie będzie więc tłumaczenia z jednego
języka programowania na drugi,

530
00:32:16,430 --> 00:32:23,763
ale może się zdarzyć tłumaczenie
z kompozycji na język programowania.

531
00:32:24,800 --> 00:32:28,576
Traktowałbym to jednak
jak kompilowanie tłumaczenia.

532
00:32:30,782 --> 00:32:34,100
Na to pytanie w bardzo ograniczonym
stopniu odpowiadam więc: „tak”.

533
00:32:40,228 --> 00:32:43,867
Wydaje mi się, że teoretycznie można by
napisać funkcję, która zamienia

534
00:32:43,948 --> 00:32:47,276
Pythona na JavaScript i umieścić ją
na Wikifunkcjach.

535
00:32:47,514 --> 00:32:50,867
Nie jestem tylko pewien,
do czego miałoby się to przydać.

536
00:32:51,173 --> 00:32:53,867
Do doprowadzenia mnie do łez.

537
00:32:58,347 --> 00:33:02,633
Denny, zainteresowało mnie to,
co mówiłeś o kompozycji funkcji.

538
00:33:03,069 --> 00:33:07,347
Kiedy się ją tworzy,
można połączyć ze sobą

539
00:33:07,428 --> 00:33:10,696
różne języki programowania
w jedną kompozycję.

540
00:33:11,038 --> 00:33:17,000
Funkcje napisane w Pythonie,
Lua czy JavaScripcie można połączyć

541
00:33:17,567 --> 00:33:20,467
ze sobą w kompozycji funkcji i wywołać.

542
00:33:23,304 --> 00:33:26,271
W obrębie Wikifunkcji
potrzeba tłumaczenia z jednego języka

543
00:33:26,352 --> 00:33:27,896
na inny jest zminimalizowana

544
00:33:27,977 --> 00:33:30,938
w tym sensie, że wszystkie
te języki współdziałają ze sobą

545
00:33:31,019 --> 00:33:33,581
za sprawą wykonania kompozycji funkcji.

546
00:33:36,357 --> 00:33:38,237
Zgadza się.

547
00:33:43,515 --> 00:33:45,649
Przejdźmy do następnego pytania.

548
00:33:46,467 --> 00:33:49,939
Kiedy na Wikidanych będziemy mieć już
wygenerowane przez funkcje etykiety,

549
00:33:50,020 --> 00:33:52,567
czy wciąż będzie można
zmieniać je ręcznie?

550
00:33:54,634 --> 00:34:00,213
W Wikidanych zawsze będzie
możliwość ręcznego

551
00:34:02,695 --> 00:34:05,705
nadpisania wygenerowanych opisów
czy etykiet.

552
00:34:09,099 --> 00:34:15,633
Sądzę, że etykieta funkcji abstrakcyjnej
byłaby zapisana w konkretnym

553
00:34:15,714 --> 00:34:22,100
języku kodowania stworzonym właśnie
po to, aby umożliwić wysyłanie

554
00:34:22,867 --> 00:34:27,192
zapytań, kiedy nie ma już żadnych
rezerw albo nie ma czegoś w danym języku.

555
00:34:27,779 --> 00:34:31,320
Ale jeżeli coś już jest w danym języku,
to najlepiej skorzystać właśnie z tego,

556
00:34:31,401 --> 00:34:33,534
tak jak Wikidane robią to teraz.

557
00:34:34,168 --> 00:34:38,803
Można by powiedzieć, że będzie
dużo łatwiej nadpisywać automatyczne

558
00:34:38,884 --> 00:34:41,703
opisy, ponieważ mamy ich
już sporo w Wikidanych.

559
00:34:41,914 --> 00:34:45,700
W tej chwili trzeba wejść w zakładkę
„Historia”, dopiero wtedy można

560
00:34:45,781 --> 00:34:49,133
sprawdzić, że np. dany opis
po niderlandzku dodała SI w 2015 r.

561
00:34:49,214 --> 00:34:51,595
Żaden prawdziwy użytkownik
nie zdenerwuje się,

562
00:34:51,675 --> 00:34:53,935
jeśli ja ten opis poddam edycji.

563
00:34:54,016 --> 00:34:58,103
Wydaje mi się, że w większym stopniu
zróżnicuje to opisy automatyczne

564
00:34:58,638 --> 00:34:59,785
i manualne.

565
00:35:08,890 --> 00:35:12,668
Kolejne pytanie jest skierowane
do Arthura Lorenziego lub innych osób,

566
00:35:12,749 --> 00:35:16,420
które z entuzjazmem podchodzą do aspektu
generowania języka naturalnego:

567
00:35:16,501 --> 00:35:21,045
Co sądzicie na temat obecnego stanu
danych leksykograficznych Wikidanych

568
00:35:21,143 --> 00:35:24,900
i ich potencjalnego zastosowania jako
bloków budujących generowany tekst,

569
00:35:24,981 --> 00:35:29,760
biorąc pod uwagę założenie zespołu,
że będą one stosowane jako bloki budujące?

570
00:35:32,435 --> 00:35:37,400
Przede wszystkim chciałbym uściślić,
że moje badania dotyczą konstrukcji,

571
00:35:37,506 --> 00:35:41,602
ale oczywiście konstrukcje składają się
z jednostek leksykalnych.

572
00:35:42,657 --> 00:35:48,593
Są one kluczowe dla budowy
każdego tekstu, ale z drugiej strony

573
00:35:48,674 --> 00:35:52,268
sądzę, że aby ruszyć z tym projektem,

574
00:35:53,278 --> 00:35:57,667
potrzebujemy niewielkiego zestawu
jednostek leksykalnych.

575
00:35:58,055 --> 00:36:04,515
Mówię to, ponieważ myślę w szczególności
o bardzo opisowych zdaniach.

576
00:36:06,015 --> 00:36:11,700
Kiedy myślimy o treści, o której Denny
wspominał w filmiku,

577
00:36:11,781 --> 00:36:18,367
np. mówimy o podmiocie
i przypisujemy mu atrybut,

578
00:36:18,916 --> 00:36:22,567
nie potrzebujemy wielu
jednostek leksykalnych.

579
00:36:23,217 --> 00:36:31,967
Ja uważam, że Abstrakcyjna Wikipedia
będzie się rozwijać i będziemy potrzebować

580
00:36:32,048 --> 00:36:34,248
więcej danych leksykograficznych,

581
00:36:34,329 --> 00:36:37,869
co będzie wymagało większego
nakładu pracy społeczności.

582
00:36:38,536 --> 00:36:43,144
Zapewne reszta zespołu
może rozwinąć ten temat.

583
00:36:49,401 --> 00:36:52,333
Denny, chcesz powiedzieć coś na temat
języków docelowych?

584
00:36:52,767 --> 00:36:54,004
Pewnie.

585
00:36:56,052 --> 00:37:02,790
Razem z niemiecką Wikipedią
poprosiliśmy społeczność

586
00:37:03,528 --> 00:37:06,629
o listę języków,
na których mamy się skupić.

587
00:37:06,710 --> 00:37:10,055
W zasadzie zwróciliśmy się o znalezienie
społeczności, które pomogłyby nam

588
00:37:10,136 --> 00:37:12,658
i niemieckiej Wikipedii w pracach
nad doskonaleniem danych

589
00:37:12,739 --> 00:37:15,965
leksykograficznych w Wikidanych
oraz w pracach nad pierwszymi funkcjami

590
00:37:19,733 --> 00:37:25,398
lingwistycznymi, które mamy zamiar
tworzyć w Wikifunkcjach, a także

591
00:37:25,479 --> 00:37:30,318
nad wprowadzeniem ich
do konkretnych Wikipedii.

592
00:37:31,614 --> 00:37:39,700
Wspólnie wybraliśmy dwa języki hinduskie:
malajalam i bengalski,

593
00:37:41,333 --> 00:37:45,173
oraz trzy języki zachodnioafrykańskie:

594
00:37:49,722 --> 00:37:51,500
hausa, igbo i dagbani.

595
00:37:56,723 --> 00:37:59,623
Szczególnie ciekawy jest tutaj
język dagbani,

596
00:37:59,704 --> 00:38:05,267
ponieważ ma on małą społeczność
językową, ale za to bardzo

597
00:38:05,348 --> 00:38:08,300
entuzjastycznie nastawioną,
co jest dla nas niezwykle pomocne.

598
00:38:08,381 --> 00:38:12,847
Co do zasady jest to jednak niewielka
liczba użytkowników,

599
00:38:12,928 --> 00:38:15,840
ale ten język jest w pewnym
sensie uniwersalny.

600
00:38:15,921 --> 00:38:19,593
Zakładamy, że jeśli damy
radę zrobić to w dagbani, to najpewniej

601
00:38:19,674 --> 00:38:22,047
damy radę zrobić to
w innych językach.

602
00:38:23,920 --> 00:38:29,600
Tymczasem z radością zajmiemy się
pracą nad wybranymi językami.

603
00:38:30,198 --> 00:38:35,261
Mamy nadzieję, że w przypadku tych
języków w przyszłych miesiącach

604
00:38:35,626 --> 00:38:38,362
zaobserwujemy widoczne postępy.

605
00:38:49,793 --> 00:38:51,943
Kolejne pytanie brzmi:

606
00:38:52,733 --> 00:38:57,697
Kiedy zamierzacie rozpocząć prace nad
funkcjami generującymi tekst naturalny?

607
00:39:00,424 --> 00:39:03,017
Jestem pewien, że Cory z radością
zacząłby już teraz,

608
00:39:03,098 --> 00:39:05,455
a właściwie to już kilka miesięcy temu.

609
00:39:07,178 --> 00:39:09,778
Planujemy zacząć te prace już niedługo.

610
00:39:09,859 --> 00:39:12,931
Zakładam, że wtedy,
kiedy uruchomimy Wikifunkcje.

611
00:39:14,686 --> 00:39:19,166
Myśleliśmy nad tym, jak powinniśmy
ukierunkować nasze pierwsze prace.

612
00:39:19,511 --> 00:39:27,709
Na początku zastanawiałem się nad logiką,
matematyką czy oczywistymi polami,

613
00:39:28,809 --> 00:39:36,800
ale po głębszym zapoznaniu się
z badaniami dotyczącymi użytkowników

614
00:39:37,600 --> 00:39:44,211
Wikifunkcji i naszych planów w tym
zakresie sądzę,

615
00:39:44,292 --> 00:39:46,759
że należy zacząć po prostu
od funkcji lingwistycznych.

616
00:39:46,840 --> 00:39:51,128
W zasadzie wybierzemy więc
funkcje lingwistyczne od samego początku.

617
00:39:51,435 --> 00:39:57,000
Zaczniemy od prostych funkcji
morfologicznych i będziemy zmierzać

618
00:39:57,460 --> 00:40:01,233
w kierunku generowania wzorów itp.

619
00:40:01,595 --> 00:40:06,800
Funkcje lingwistyczne będą naszym
pierwszym celem tuż po starcie.

620
00:40:07,031 --> 00:40:10,840
Dlatego też paradygmaty są tak
interesującym stadium,

621
00:40:10,921 --> 00:40:15,819
bo stworzą więcej treści,

622
00:40:15,900 --> 00:40:21,500
z którą będziemy pracować
na kolejnych etapach.

623
00:40:22,779 --> 00:40:26,565
Czy ktoś chciałby coś dodać?
Szczególnie Arthur, Cory?

624
00:40:46,930 --> 00:40:48,930
Przejdę do następnego pytania.

625
00:40:51,367 --> 00:40:54,439
Kiedy Wikifunkcje zostaną uruchomione
publicznie?

626
00:40:55,636 --> 00:40:59,342
Pytanie dotyczy też inkubatora,
ale James zauważa, że my początkowo

627
00:40:59,423 --> 00:41:01,675
nie będziemy pracować nad inkubatorem.

628
00:41:02,025 --> 00:41:05,467
Denny, przedstawisz kilka szczegółów
naszego harmonogramu?

629
00:41:06,168 --> 00:41:10,088
Tak jak wspomniał James,
nie będziemy uruchamiać inkubatora,

630
00:41:10,169 --> 00:41:14,585
bo inkubator służy nowym Wikipediom,
a to jest nowy projekt Wikimediów.

631
00:41:14,820 --> 00:41:18,153
Uruchomienie inkubatora nie byłoby
odpowiednim zagraniem.

632
00:41:19,804 --> 00:41:29,200
Uruchomimy lepszy system demonstracyjny
i planujemy to zrobić już… wkrótce.

633
00:41:29,828 --> 00:41:35,633
W tej chwili pracujemy jeszcze
nad recenzjami zabezpieczeń i wydajności,

634
00:41:35,714 --> 00:41:40,514
ale chcemy go uruchomić w zależności
od rezultatów oraz kilku innych kroków.

635
00:41:41,326 --> 00:41:49,952
Niczego nie obiecuję,
ale być może uruchomimy go jesienią.

636
00:41:51,319 --> 00:41:55,735
Widzę, że nikogo nie zezłościłem.

637
00:42:04,134 --> 00:42:07,333
Sam projekt uruchomimy,
kiedy będziemy gotowi.

638
00:42:07,702 --> 00:42:11,798
Nie chcę tu składać żadnych obietnic
co do terminu.

639
00:42:12,630 --> 00:42:15,894
Nie oczekuję, że uda się to osiągnąć
jeszcze w 2021 r.,

640
00:42:17,392 --> 00:42:21,400
ale nie powinno
to być też o wiele później.

641
00:42:22,876 --> 00:42:28,733
Nie składam tutaj obietnic,
wszystko w swoim czasie.

642
00:42:29,543 --> 00:42:35,267
Właściwie to możecie obserwować
postępy na Not Wikilambda.

643
00:42:38,519 --> 00:42:41,600
Robimy naprawdę porządne postępy,

644
00:42:41,916 --> 00:42:44,116
więc jestem pewien, że uruchomimy

645
00:42:44,725 --> 00:42:47,259
projekt w rozsądnych ramach czasowych.

646
00:42:47,495 --> 00:42:53,762
Jeśli składałbym obietnice
w czyimś imieniu, przyłóżcie mi.

647
00:42:55,400 --> 00:42:57,933
Projekt ruszy przed kolejną Wikimanią.

648
00:42:59,329 --> 00:43:02,431
Tego jestem pewien.

649
00:43:05,122 --> 00:43:06,352
Kolejne pytanie brzmi:

650
00:43:06,433 --> 00:43:10,849
Czy wkład włożony w testową wiki
będzie widoczny w wersji ostatecznej,

651
00:43:10,930 --> 00:43:13,464
czy będziemy musieli zaczynać od zera?

652
00:43:20,673 --> 00:43:25,153
Jeśli przez „testową wiki” rozumiesz
Not Wikilambda, to nic, co się tam

653
00:43:25,234 --> 00:43:28,700
znajduje nie przejdzie do Wikifunkcji.

654
00:43:28,781 --> 00:43:30,221
Przykro mi, Lucas.

655
00:43:31,662 --> 00:43:34,533
O ile Lucas nie wyrazi sprzeciwu.

656
00:43:38,995 --> 00:43:45,011
Jeśli chodzi o beta-wiki, to również
nie planujemy przenosić żadnych treści

657
00:43:45,092 --> 00:43:47,567
z beta-wiki do Wikifunkcji.

658
00:43:48,243 --> 00:43:50,967
Oczywiście społeczność może
nadpisać te treści,

659
00:43:51,048 --> 00:43:54,267
bo przecież jest to wasz projekt,
nie nasz.

660
00:43:54,775 --> 00:43:56,455
Nie nas o to pytajcie.

661
00:43:56,536 --> 00:44:01,481
My nie planujemy kopiowania niczego
z bety do Wikifunkcji.

662
00:44:03,116 --> 00:44:04,716
To licencja otwarta.

663
00:44:05,425 --> 00:44:08,433
To wy jesteście społecznością,
to wasz projekt, więc jeśli tego chcecie,

664
00:44:08,514 --> 00:44:10,750
to możecie to zrobić.
My nie mamy tego w planach.

665
00:44:10,862 --> 00:44:17,200
Chciałbym zauważyć, że mamy duży
zbiór rzeczy,

666
00:44:17,695 --> 00:44:22,640
które znajdą się w testowej wiki
i będą również w ostatecznej

667
00:44:23,703 --> 00:44:25,383
wersji wiki, będą mieć te same ID itd.

668
00:44:28,084 --> 00:44:30,133
Przynajmniej ta część zostanie taka sama.

669
00:44:33,814 --> 00:44:36,033
Mamy kolejne pytanie i następne
wpływają teraz szybciej.

670
00:44:36,114 --> 00:44:38,797
Dziękujemy wam
za ciekawe pytania.

671
00:44:38,878 --> 00:44:42,767
Czy możliwy będzie import
biblioteki/kodu z GitHuba?

672
00:44:49,431 --> 00:44:51,200
Ja spróbuję odpowiedzieć.

673
00:44:51,281 --> 00:44:55,100
Po części będzie to zależne
od szczegółów licencyjnych.

674
00:44:55,709 --> 00:44:59,805
Niektóre rzeczy będą kompatybilne,
inne nie.

675
00:45:00,352 --> 00:45:06,391
Przewidujemy, że biblioteki funkcji
w obrębie Wikifunkcji będą potencjalnie

676
00:45:07,193 --> 00:45:12,433
udostępniane na innych platformach,

677
00:45:13,003 --> 00:45:19,000
żeby ludzie mogli wziąć pewien zestaw
funkcji, spakować go i umieścić w jakimś

678
00:45:19,081 --> 00:45:21,301
zewnętrznym repozytorium kodów.

679
00:45:27,357 --> 00:45:31,533
Ta sama osoba przysłała jeszcze
szybkie uzupełnienie pytania:

680
00:45:31,614 --> 00:45:34,281
W jaki sposób obsługiwane będą licencje?

681
00:45:35,571 --> 00:45:40,841
Omawiamy ten temat z naszym
zespołem prawnym i najpewniej będziemy

682
00:45:40,922 --> 00:45:43,908
potrzebowali jeszcze trochę czasu,
żeby to ustalić.

683
00:45:48,607 --> 00:45:49,887
Kolejne pytanie:

684
00:45:50,115 --> 00:45:52,305
W jaki sposób użytkownicy zewnętrzni

685
00:45:52,386 --> 00:45:55,337
będą mogli wchodzić w interakcje
z Wikifunkcjami?

686
00:45:59,967 --> 00:46:02,367
Na wiele sposobów.

687
00:46:07,030 --> 00:46:09,711
Ja może zacznę od kilku z nich,

688
00:46:09,792 --> 00:46:11,867
a zespół doda kolejne pomysły.

689
00:46:15,308 --> 00:46:19,546
Z jednej strony wszystkie funkcje
i Wikifunkcje będą na jakiejś licencji

690
00:46:19,627 --> 00:46:23,683
open source, więc użytkownicy zewnętrzni
będą mogli je po prostu wykorzystać.

691
00:46:25,524 --> 00:46:27,204
Jak też wspomniał Lucas…

692
00:46:27,285 --> 00:46:29,833
Przepraszam, Lucas jest tutaj,
obraz jest odwrócony…

693
00:46:29,914 --> 00:46:32,267
Jak wspomniał Lucas, prawdopodobnie

694
00:46:34,095 --> 00:46:39,933
będziemy mieć więcej
silników oceny, co oznaczałoby, że można

695
00:46:40,014 --> 00:46:43,086
po prostu ocenić funkcje za pomocą
tych silników.

696
00:46:43,400 --> 00:46:47,300
Wspominał też o silniku oceny

697
00:46:47,381 --> 00:46:50,667
na telefonie, na którym można wywołać
funkcję itd.

698
00:46:51,114 --> 00:46:54,467
Jednym z moich marzeń jest to,
żeby arkusz był w stanie po prostu

699
00:46:54,548 --> 00:46:59,630
wywołać funkcję z Wikifunkcji,
skorzystać z niej i wyświetlić jej wynik.

700
00:47:02,230 --> 00:47:03,750
I też wiele innych.

701
00:47:03,929 --> 00:47:06,129
Ktoś chciałby dodać jakiś pomysł?

702
00:47:07,130 --> 00:47:12,533
Dość łatwo jest oddzielić Wikifunkcje

703
00:47:12,614 --> 00:47:16,326
jako koncept MediaWiki od Wikifunkcji
jako publicznego API.

704
00:47:17,265 --> 00:47:20,000
Prawdopodobnie będzie więc coś
w rodzaju natychmiastowych komend,

705
00:47:20,081 --> 00:47:23,621
które umożliwią każdemu
proste umieszczanie wywołań

706
00:47:23,702 --> 00:47:27,923
funkcji z Wikifunkcji na swojej własnej
instalacji MediaWiki.

707
00:47:30,748 --> 00:47:34,384
Bardzo mocno zniechęcałbym do prób
prowadzenia własnej strony

708
00:47:34,465 --> 00:47:37,729
na podstawie Wikifunkcji,
ponieważ w przeciwieństwie

709
00:47:37,810 --> 00:47:41,906
do Wikidanych to oprogramowanie
jest stworzone konkretnie na nasz

710
00:47:42,100 --> 00:47:45,632
użytek i nie będzie możliwości
przenoszenia go na inne projekty.

711
00:47:46,251 --> 00:47:50,267
Będzie natomiast publiczne API, za pomocą
którego będą przyjmowane zapytania.

712
00:47:50,348 --> 00:47:53,933
I możliwe, że jeśli użytkownicy chcieliby
wprowadzić dużą liczbę zapytań

713
00:47:54,014 --> 00:47:57,933
za pośrednictwem API, to odpowiedniejszym
rozwiązaniem byłoby przejście

714
00:47:58,014 --> 00:48:00,871
przez Wikimedia Enterprise
czy gdziekolwiek to będzie.

715
00:48:00,952 --> 00:48:03,427
Ale nie zajmujemy się tym obecnie.

716
00:48:03,508 --> 00:48:07,988
I tak jak Denny powiedział o obliczeniach
poza naszą domeną: powiedzmy,

717
00:48:08,516 --> 00:48:10,821
że tajna agencja, np. CIA,
uznałaby, że kod

718
00:48:10,901 --> 00:48:13,206
na Wikifunkcjach jest świetny i chciałaby

719
00:48:13,287 --> 00:48:17,133
go użyć na swoich danych w swoim
własnym centrum danych, to też świetnie.

720
00:48:17,214 --> 00:48:20,755
Celem Commons jest tworzenie większej
ilości treści dla większej liczby ludzi,

721
00:48:20,836 --> 00:48:23,170
a nie ograniczanie jej
do niewielkiego grona.

722
00:48:25,467 --> 00:48:31,252
Mam nadzieję, że szczególnie
hobbiści, mniejsze organizacje itp.

723
00:48:31,333 --> 00:48:33,252
będą z tego korzystać.

724
00:48:34,029 --> 00:48:39,400
Szczerze mówiąc, duże organizacje, takie
jak CIA czy duże firmy technologiczne,

725
00:48:39,481 --> 00:48:45,357
mają już dostęp do dużej biblioteki
funkcji albo mają wystarczająco wielu

726
00:48:45,438 --> 00:48:48,600
inżynierów oprogramowania,
żeby osiągnąć wszystkie te cele.

727
00:48:48,681 --> 00:48:52,201
My chcemy umożliwić dostęp do tych
rzeczy każdej osobie.

728
00:48:53,276 --> 00:48:59,300
Dajemy wielu ludziom
dostęp to tego rodzaju możliwości.

729
00:49:00,887 --> 00:49:05,500
James wspomniał, że kod,
który piszemy,

730
00:49:05,581 --> 00:49:09,867
jest tworzony konkretnie
pod kątem Wikifunkcji.

731
00:49:10,073 --> 00:49:12,533
Jest to sytuacja podobna do tej,

732
00:49:12,614 --> 00:49:15,600
kiedy na potrzeby Wikidanych
kilka lat temu stworzono Wikibase.

733
00:49:15,681 --> 00:49:18,979
Lucas przyglądał się temu

734
00:49:20,106 --> 00:49:23,527
i doglądał zmian
w ciągu ostatnich kilku lat.

735
00:49:23,608 --> 00:49:26,042
Może chcesz coś dodać?

736
00:49:30,289 --> 00:49:34,380
Wikibase, czyli oprogramowanie stojące
za Wikidanymi, służyło przede wszystkim

737
00:49:34,461 --> 00:49:38,941
operacjom na Wikidanych i działało
na lokalnej wiki dewelopera,

738
00:49:39,022 --> 00:49:40,889
ale nie robiło wiele więcej.

739
00:49:42,905 --> 00:49:46,310
Na przestrzeni kilku następnych lat
ta strategia ewoluowała za sprawą

740
00:49:46,391 --> 00:49:49,900
zachęcania instytucji
do korzystania z Wikibase,

741
00:49:49,981 --> 00:49:54,279
szczególnie do działań na danych,
których nie chcieliśmy w Wikidanych,

742
00:49:54,400 --> 00:49:57,335
czy to ze względów licencyjnych,
czy z uwagi na to, że było ich zbyt wiele

743
00:49:57,416 --> 00:50:00,382
i były zbyt wyspecjalizowane, przez co
nie miałyby wartości w Wikidanych,

744
00:50:00,463 --> 00:50:02,833
ale potem inne instytucje zaczęły działać
na Wikibase.

745
00:50:02,914 --> 00:50:06,434
W tej chwili w niemieckiej Wikipedii
mamy menadżera produktu

746
00:50:06,930 --> 00:50:10,207
zajmującego się Wikibase, tak więc
strategia uległa zmianie w tym kierunku.

747
00:50:10,288 --> 00:50:12,905
Z samym oprogramowaniem było podobnie

748
00:50:14,183 --> 00:50:17,083
i teraz łatwiej jest go używać
osobom trzecim.

749
00:50:18,421 --> 00:50:20,533
W tej chwili nie wydaje mi się,

750
00:50:20,614 --> 00:50:23,031
żeby to samo miało zajść
w przypadku Wikifunkcji.

751
00:50:23,112 --> 00:50:27,434
Nie widzę wyraźnej potrzeby prowadzenia
kolejnej strony Wikifunkcji, ale kto wie…

752
00:50:34,628 --> 00:50:37,548
Kolejne pytanie jest proste
i odpowiedź na nie brzmi „tak”:

753
00:50:38,144 --> 00:50:42,688
Czy każdy może przyczynić się do rozwoju,
bez względu na swoje zaplecze?

754
00:50:45,985 --> 00:50:47,505
Taką mamy nadzieję.

755
00:50:52,649 --> 00:50:54,089
Tak, zdecydowanie.

756
00:50:58,053 --> 00:51:02,725
Nasza koleżanka, Aishwarya Vardhana,
nie jest dziś dostępna,

757
00:51:05,656 --> 00:51:08,938
ale ona właśnie dużo
myśli nad tym,

758
00:51:09,743 --> 00:51:12,551
jak z Wikifunkcji i
Abstrakcyjnej Wikipedii

759
00:51:12,632 --> 00:51:16,206
uczynić bardziej otwarte miejsce.

760
00:51:16,287 --> 00:51:19,737
Z radością przyjmiemy osoby z zapleczem
technicznym, by pomogły nam

761
00:51:19,818 --> 00:51:24,133
w pracy nad oprogramowaniem, które zasili
Wikifunkcje i Abstrakcyjną Wikipedię.

762
00:51:24,541 --> 00:51:27,467
Zależy nam na dużej społeczności,
z całego świata,

763
00:51:27,977 --> 00:51:30,826
która będzie pracować przy Wikifunkcjach
i Abstrakcyjnej Wikipedii

764
00:51:30,907 --> 00:51:32,067
na rzecz całego świata.

765
00:51:32,148 --> 00:51:34,548
Wszystko zaczyna się od projektu.

766
00:51:37,368 --> 00:51:39,667
To dość poruszające w kontekście tego,

767
00:51:39,780 --> 00:51:41,391
co Denny mówił w swoim wideo
na początku.

768
00:51:41,472 --> 00:51:44,636
Chcemy, żeby ta platforma była dostępna

769
00:51:44,717 --> 00:51:47,400
również dla ludzi bez doświadczenia
w programowaniu.

770
00:51:48,328 --> 00:51:51,900
Jak wspomniał Adam, Aishwarya i ja
pracujemy nad tym,

771
00:51:52,129 --> 00:51:55,100
jak będzie wyglądało tworzenie
nowych funkcji

772
00:51:55,181 --> 00:51:58,400
i korzystanie z nich
z perspektywy kogoś, kto nie jest

773
00:51:58,481 --> 00:52:01,489
programistą i nie ma doświadczenia
technicznego.

774
00:52:02,100 --> 00:52:07,663
Dopilnujemy, aby każdy miał dostęp
do tworzonej przez nas technologii.

775
00:52:13,465 --> 00:52:14,933
Kolejne pytanie:

776
00:52:15,378 --> 00:52:17,582
Oprócz kompozycji funkcji,

777
00:52:17,663 --> 00:52:21,887
jakie mechanizmy złożenia i powtórnego
użycia kodu przewidujecie?

778
00:52:22,029 --> 00:52:24,194
Czy przewidujecie wsparcie np.

779
00:52:24,275 --> 00:52:27,867
dla kontraktów, interfejsów,
dziedziczenia, generyków?

780
00:52:37,800 --> 00:52:45,033
Kompozycja jest potężnym mechanizmem
powtórnego użycia i jak już wspomniano,

781
00:52:45,114 --> 00:52:49,067
to jedno z głównych narzędzi,
z których będziemy korzystać.

782
00:52:49,460 --> 00:52:54,841
Poza tym rozdzielamy funkcje
od implementacji, które są w dużej mierze

783
00:52:54,922 --> 00:52:57,588
podobne do kontraktów, ale niezupełnie,

784
00:52:57,669 --> 00:53:03,178
bo nie mamy tutaj warunków,
warunków wstępnych czy niezmienników,

785
00:53:03,259 --> 00:53:07,419
tylko odseparowanie interfejsu
implementacji jest jednym

786
00:53:07,500 --> 00:53:10,112
ze sposobów na powtórne użycie.

787
00:53:11,993 --> 00:53:18,533
Na razie próbuję unikać dziedziczenia itp.

788
00:53:19,715 --> 00:53:21,515
Generyki zamierzamy uwzględnić.

789
00:53:22,485 --> 00:53:25,557
Znajdzie się to w kolejnej fazie.

790
00:53:27,461 --> 00:53:30,567
Myślę, że tego dotyczy pytanie.

791
00:53:32,033 --> 00:53:34,485
W większości bazujemy na powtórnym

792
00:53:35,231 --> 00:53:38,943
użyciu, jakie znamy z funkcjonalnych
języków programowania.

793
00:53:39,635 --> 00:53:42,696
I do tego generyki, które też w zasadzie
są dostępne w funkcjonalnych

794
00:53:42,777 --> 00:53:44,024
językach programowania.

795
00:53:44,105 --> 00:53:47,533
W tej chwili nie mamy jednak planów
co do dziedziczenia ani prototypów

796
00:53:47,614 --> 00:53:49,769
semantyki itp.

797
00:53:49,850 --> 00:53:56,567
Często mają one daleko idące
konsekwencje,

798
00:53:56,648 --> 00:54:00,838
przez co wprowadzenie niewielkich zmian
wymaga ogarnięcia całości systemu.

799
00:54:00,919 --> 00:54:04,141
Tego próbujemy uniknąć.

800
00:54:04,222 --> 00:54:07,521
Chcemy, żeby zmiany pociągały za sobą
jak najmniej innych skutków,

801
00:54:07,602 --> 00:54:12,466
aby można było wprowadzać zmiany,
nawet znając niewielką część całości.

802
00:54:20,242 --> 00:54:21,750
Kolejne pytanie:

803
00:54:22,107 --> 00:54:26,194
Czy artykuły na Wikipedii będą włączone
do Abstrakcyjnej Wikipedii?

804
00:54:26,305 --> 00:54:29,806
To znaczy, czy będą zamienione na treść
abstrakcyjną i usunięte z lokalnych

805
00:54:29,887 --> 00:54:33,471
wersji językowych, żeby zmaksymalizować
ilość informacji?

806
00:54:44,212 --> 00:54:49,467
Zakładam, że to możliwe, ale ostatecznie
decyzja w obu tych kwestiach

807
00:54:49,548 --> 00:54:53,400
zależy od społeczności danego języka.

808
00:54:53,481 --> 00:54:56,861
Mogą postanowić, że udostępnią to,
co mają w swoim artykule, do zmiany

809
00:54:56,942 --> 00:54:59,852
na treść abstrakcyjną, żeby wszyscy inni
mogli korzystać z tej wiedzy,

810
00:54:59,933 --> 00:55:05,233
nawet jeśli będą potem chcieli
zachować swój lokalny artykuł.

811
00:55:06,330 --> 00:55:10,298
Wydaje mi się też, że ktoś wspominał,
że będą możliwe treści

812
00:55:10,379 --> 00:55:12,800
nie tylko na poziomie całego artykułu,

813
00:55:13,005 --> 00:55:15,871
ale też co najmniej na poziomie sekcji
czy akapitu,

814
00:55:15,965 --> 00:55:19,734
żeby można było korzystać tylko
z niektórych sekcji abstrakcyjnej treści.

815
00:55:23,013 --> 00:55:25,146
Tak, spróbuję jeszcze coś dodać.

816
00:55:25,227 --> 00:55:30,300
Bardzo długo zastanawialiśmy się nad
potrzebą posiadania lokalnych wersji

817
00:55:30,806 --> 00:55:33,909
w obu kierunkach,
jeżeli tylko jest to wykonalne.

818
00:55:36,235 --> 00:55:38,511
Chcemy, żeby społeczności mogły

819
00:55:38,592 --> 00:55:42,282
czerpać korzyści z podstawowego poziomu

820
00:55:42,363 --> 00:55:46,600
treści abstrakcyjnej i nadpisywać go,

821
00:55:46,681 --> 00:55:50,584
gdy pojawi się ktoś, kto chciałby utworzyć
bardziej szczegółową wersję artykułu

822
00:55:50,665 --> 00:55:52,105
w lokalnym języku.

823
00:55:54,021 --> 00:56:03,400
Warto też chyba zauważyć,
że większość artykułów Wikipedii

824
00:56:03,783 --> 00:56:07,172
w różnych językach nie występuje
w każdym możliwym języku.

825
00:56:07,346 --> 00:56:10,172
Nawet angielska Wikipedia
obejmuje tylko około 1/3

826
00:56:10,353 --> 00:56:12,085
wszystkich tematów.

827
00:56:14,328 --> 00:56:19,067
Będą tysiące, setki tysięcy artykułów,
które w dużym stopniu się pokrywają,

828
00:56:19,574 --> 00:56:23,351
ale będą też miliony, które istnieją
wyłącznie w jednym języku.

829
00:56:24,788 --> 00:56:30,264
Jeżeli więc taki artykuł zostanie napisany
przez Abstrakcyjną Wikipedię,

830
00:56:31,138 --> 00:56:34,274
to nagle stanie się on dostępny
w każdym innym języku.

831
00:56:41,861 --> 00:56:43,267
Kolejne pytanie:

832
00:56:43,512 --> 00:56:45,979
Czy wybierzecie jedną wersję Pythona,

833
00:56:46,060 --> 00:56:48,234
czy zakładacie, że będzie działać
na wszystkich?

834
00:56:48,315 --> 00:56:51,361
Jeżeli, przykładowo, w przyszłości
zaistnieje sytuacja podobna

835
00:56:51,442 --> 00:56:53,309
do „Python v2 kontra Python v3”…

836
00:56:54,261 --> 00:56:56,067
Z radością odpowiem na to pytanie.

837
00:56:56,148 --> 00:56:58,433
W skrócie: nie i nie.

838
00:56:58,865 --> 00:57:00,938
Jedną z rzeczy, która dała mi dużo radochy

839
00:57:01,019 --> 00:57:04,323
na samym początku, było ogłoszenie
mocą mojego autorytetu, że przenigdy

840
00:57:04,404 --> 00:57:06,567
nie będziemy wspierać Pythona 2,
wybaczcie.

841
00:57:06,648 --> 00:57:10,662
Python 2 i tak jest już u schyłku,
więc zaczniemy od Pythona 3,

842
00:57:10,743 --> 00:57:13,782
prawdopodobnie od Pythona 3.5,
w zależności od tego,

843
00:57:13,863 --> 00:57:15,167
kiedy dokładnie ruszymy.

844
00:57:15,248 --> 00:57:18,896
Ale będziemy wspierać wiele poziomów
języka programowania.

845
00:57:18,977 --> 00:57:22,054
Całość zbudowana jest na systemie,
który ma to umożliwiać.

846
00:57:22,135 --> 00:57:25,358
Będziemy mieć koncept Pythona,
a poniżej tego znajdzie się koncept

847
00:57:25,439 --> 00:57:28,477
Pythona 3, a jeszcze niżej koncept
Pythona 3.7,

848
00:57:28,671 --> 00:57:32,211
więc jeżeli ktoś napisze kod
działający w Pythonie 3.6,

849
00:57:32,292 --> 00:57:35,380
to nie będzie automatycznej próby
odpalenia go w Pythonie 3.7,

850
00:57:35,461 --> 00:57:38,700
ale twórca, jako członek społeczności,
może otrzymać komunikat:

851
00:57:38,781 --> 00:57:41,633
„Przeprowadziliśmy symulację
i kod przeszedł wszystkie testy

852
00:57:41,714 --> 00:57:45,493
w Pythonie 3.7 – czy chcesz zadeklarować,
że to też jest Python 3.7?”.

853
00:57:46,739 --> 00:57:49,707
Nie będzie jednej wersji
Pythona czy JavaScriptu.

854
00:57:49,788 --> 00:57:53,733
Nie będziemy też oczekiwać, że napisane
kody będą po prostu magicznie działać,

855
00:57:53,814 --> 00:57:56,949
ale po to właśnie mamy zestawy
testów i kontrolę społeczności.

856
00:57:57,108 --> 00:57:58,900
Mam nadzieję,
że taka odpowiedź wystarczy.

857
00:58:00,227 --> 00:58:03,917
Myślę, że to by było dość ciekawe
w przypadku Lua.

858
00:58:03,998 --> 00:58:07,140
Wikimedia już w tej chwili nie działają
na najnowszej wersji Lua, ale też

859
00:58:07,221 --> 00:58:10,033
projekt Lua domaga się, by uznawać
te wersje za dwa różne języki,

860
00:58:10,114 --> 00:58:13,033
i można bez problemu pozostać
przy tej starszej wersji.

861
00:58:15,216 --> 00:58:18,033
Wciąż będziemy wprowadzać poprawki
w zakresie bezpieczeństwa,

862
00:58:18,114 --> 00:58:21,898
więc wydaje mi się, że w tej kwestii też
w końcu dojdą różne poziomy Lua.

863
00:58:21,979 --> 00:58:26,433
Jest też różnica między tym, w jakich
językach można pisać i w jakich językach

864
00:58:26,514 --> 00:58:28,133
będziemy wykonywać komendy.

865
00:58:28,214 --> 00:58:33,284
Być może bez problemu będzie można
pisać w Pythonie 3.5 przez kolejne 10 lat,

866
00:58:33,365 --> 00:58:35,761
ale może za tydzień wycofają
go z użytku,

867
00:58:35,896 --> 00:58:37,867
a więc nie będziemy w nim
niczego uruchamiać.

868
00:58:38,008 --> 00:58:42,254
Wtedy to społeczność musiałaby się
zastanowić, czy chce napisać filtr

869
00:58:42,335 --> 00:58:45,954
krzyczący: „Nie pisz w tym języku,
bo i tak nigdy go nie wykorzystamy”.

870
00:58:48,767 --> 00:58:55,059
Warto dodać, że w przyszłości
będziemy się starali

871
00:58:55,140 --> 00:59:01,869
stworzyć różne ewaluatory
i różne wersje języków, które też

872
00:59:01,950 --> 00:59:04,639
będzie mogła przejąć społeczność.

873
00:59:07,068 --> 00:59:09,599
Chcemy w tym tyle życia,
ile tylko możliwe,

874
00:59:09,680 --> 00:59:13,074
żebyśmy nie utknęli na różnych wersjach,

875
00:59:13,155 --> 00:59:19,900
żeby to tworzenie ewaluatorów było
jak najbardziej dynamiczne

876
00:59:21,158 --> 00:59:29,533
i żeby mogli nad tym pracować
ci sami testerzy itp.

877
00:59:30,095 --> 00:59:32,833
Myślę, że to też byłoby interesujące.

878
00:59:39,919 --> 00:59:46,212
Następne pytanie: Jakie przewidujecie
punkty stałe w samoskładaniu funkcji?

879
00:59:49,532 --> 00:59:54,442
Krótko mówiąc: jeszcze nie wiemy.

880
00:59:55,442 --> 00:59:58,648
Mamy nadzieję, że uda
nam się je wyodrębnić,

881
00:59:58,729 --> 01:00:03,974
jeśli w ogóle będą jakieś punkty
stałe, i będziemy o tym informować,

882
01:00:04,100 --> 01:00:10,306
ale wciąż pracujemy nad kodem,
który dokonuje złożenia.

883
01:00:10,331 --> 01:00:15,195
Dopiero w zeszłym tygodniu udało
nam się sprawić, żeby funkcja „jeśli”

884
01:00:15,350 --> 01:00:23,339
nie była wykonywana na obu
gałęziach jednocześnie.

885
01:00:25,196 --> 01:00:30,085
Więc nie wiemy jeszcze,
gdzie będą punkty stałe.

886
01:00:31,464 --> 01:00:39,434
Mamy nadzieję, że z czasem będziemy
w stanie rozwijać to coraz bardziej.

887
01:00:39,838 --> 01:00:45,655
Oczywiście nigdy się nie uda
stworzyć idealnego systemu,

888
01:00:45,877 --> 01:00:48,385
ale mam nadzieję, że zaczniemy
od czegoś,

889
01:00:48,457 --> 01:00:50,972
co będzie nieźle działać
w większości przypadków,

890
01:00:51,012 --> 01:00:57,121
a potem coraz bardziej to rozwijać.

891
01:00:57,249 --> 01:01:02,018
Liczę na to, że w przyszłości
osoby badające języki programowania

892
01:01:02,074 --> 01:01:06,042
będą mogły pomóc nam w znalezieniu
nowych zastosowań

893
01:01:06,512 --> 01:01:11,543
i przeniesieniu ich
na potężniejsze systemy.

894
01:01:21,053 --> 01:01:26,459
Następne pytanie: Czy możemy
zastąpić Lua Wikifunkcjami?

895
01:01:26,634 --> 01:01:30,094
Domyślam się, że chodzi o zastosowanie Lua

896
01:01:30,142 --> 01:01:34,228
jako modułów w Wikipedii
i innych projektach Wikimediów.

897
01:01:41,821 --> 01:01:43,670
Czy ktoś inny chce
odpowiedzieć na to pytanie?

898
01:01:43,671 --> 01:01:44,678
Ja odpowiem.

899
01:01:44,687 --> 01:01:46,553
Krótka odpowiedź brzmi: tak.

900
01:01:46,733 --> 01:01:49,028
Dłuższa odpowiedź
brzmi: prawdopodobnie tak.

901
01:01:50,282 --> 01:01:54,588
Chodzi o to, że będziemy mieć
jedną wiki z funkcjami, a nie 20,

902
01:01:54,668 --> 01:01:58,461
więc jeśli jesteś w niemieckiej
Wikipedii i masz lokalny skrypt Lua,

903
01:01:58,493 --> 01:02:00,293
który robi coś użytecznego,

904
01:02:01,541 --> 01:02:05,620
a ktoś w angielskiej ma ten sam
skrypt Lua albo jego odpowiednik,

905
01:02:05,692 --> 01:02:07,961
to powinniśmy
mieć tylko jedną funkcję,

906
01:02:08,382 --> 01:02:12,862
ale możemy mieć więcej, ponieważ
coś, co jest potrzebne w niemieckim,

907
01:02:13,074 --> 01:02:16,168
jest bardziej złożone niż w przypadku
angielskiego lub odwrotnie

908
01:02:16,256 --> 01:02:19,776
albo po prostu nie są równorzędne.

909
01:02:20,097 --> 01:02:24,023
Nie będzie tak, że wszystko, co jest
napisane w Lua, zostanie zastąpione.

910
01:02:24,261 --> 01:02:29,697
Poza tym wynikiem Wikifunkcji
jest surowy tekst, a nie tekst wiki.

911
01:02:30,804 --> 01:02:33,264
Przynajmniej na razie,
ze względów bezpieczeństwa.

912
01:02:33,947 --> 01:02:39,226
Jeśli używasz Lua
do wygenerowania infoboksu,

913
01:02:39,307 --> 01:02:41,907
np. do tworzenia
elementów tabelki,

914
01:02:41,988 --> 01:02:44,598
co zdarza się niezwykle często,

915
01:02:44,796 --> 01:02:47,304
to czegoś takiego nie będziemy obsługiwać,

916
01:02:47,385 --> 01:02:50,457
więc nadal będzie do tego
potrzebny lokalny Lua.

917
01:02:50,967 --> 01:02:54,243
Ale w dalszej perspektywie możemy
uwzględnić również takie zastosowanie.

918
01:03:02,930 --> 01:03:04,382
Geno, chcesz coś dodać?

919
01:03:04,461 --> 01:03:12,450
Tak, kilka miesięcy temu,

920
01:03:12,609 --> 01:03:18,783
może pół roku temu, mieliśmy
staż o nazwie Outreachy.

921
01:03:20,180 --> 01:03:25,618
Kilkoro stażystów współpracowało z nami,

922
01:03:25,682 --> 01:03:30,721
analizując moduły Lua, żeby sprawdzić,

923
01:03:31,174 --> 01:03:36,270
które z nich można
przenieść do Wikifunkcji.

924
01:03:36,342 --> 01:03:42,231
Efekty ich pracy zostały
opublikowane na GitHubie.

925
01:03:42,780 --> 01:03:46,343
Nie wiem, jak udostępnić je
osobom, które nas teraz słuchają,

926
01:03:46,382 --> 01:03:48,413
ale to było naprawdę ciekawe,

927
01:03:48,461 --> 01:03:53,088
dało nam dobre rozeznanie
odnośnie tego, co możemy zrobić.

928
01:04:01,096 --> 01:04:02,456
Następne pytanie.

929
01:04:02,771 --> 01:04:06,867
Dla kontekstu umieściłem na czacie
link do publikacji Outreachy.

930
01:04:07,733 --> 01:04:13,089
Następne pytanie: Czy istnieją katalogi
funkcji, które można zaimportować

931
01:04:13,233 --> 01:04:15,186
lub wykorzystać jako odniesienie?

932
01:04:15,258 --> 01:04:20,101
Czy można jakoś wskazać równoważność
przy implementacji w środowisku x?

933
01:04:28,276 --> 01:04:30,972
Ja chętnie odpowiem na to pytanie.

934
01:04:30,997 --> 01:04:33,798
Nie jestem pewien, o co chodzi
w drugiej części,

935
01:04:33,877 --> 01:04:38,131
ale jeśli chodzi o pierwszą,
to Not Wikilambda.

936
01:04:38,163 --> 01:04:40,917
Wszystko tam jest na licencji CC0,

937
01:04:40,956 --> 01:04:43,226
więc jeśli ktoś umieścił
tam jakieś przydatne funkcje,

938
01:04:43,266 --> 01:04:44,559
ale nie jestem tego pewien,

939
01:04:44,567 --> 01:04:47,153
to można je wykorzystać.

940
01:04:49,368 --> 01:04:52,415
W innym przypadku wszystko
rozbija się o kwestie licencyjne:

941
01:04:52,447 --> 01:04:56,415
na jakich licencjach udostępniane
są inne katalogi funkcji.

942
01:04:58,909 --> 01:05:02,512
Poza tym, Denny, ty chyba
wspominałeś w jednym z newsletterów,

943
01:05:02,592 --> 01:05:05,320
że cel Wikifunkcji jest inny
niż w przypadku

944
01:05:05,401 --> 01:05:07,744
czegoś takiego jak Rosetta Stone,

945
01:05:07,825 --> 01:05:11,394
gdzie chodzi o tę samą funkcjonalność
w jak największej liczbie

946
01:05:11,475 --> 01:05:12,815
języków programowania.

947
01:05:12,895 --> 01:05:15,095
Nie to stanowi cel Wikifunkcji,

948
01:05:15,176 --> 01:05:19,272
więc nie zamierzamy tego
bezpośrednio zaimportować.

949
01:05:21,660 --> 01:05:27,659
Niemniej definicja funkcji jest
w istocie niezależna od implementacji.

950
01:05:27,667 --> 01:05:30,002
Implementacje mogą
występować w różnych językach.

951
01:05:30,335 --> 01:05:36,890
Więc jeśli chcesz powiedzieć,
że te dwie implementacje

952
01:05:36,906 --> 01:05:38,723
są faktycznie tą samą funkcją,

953
01:05:38,761 --> 01:05:41,397
to wykorzystują one
tę samą definicję funkcji

954
01:05:41,900 --> 01:05:45,453
i wtedy to są możliwe
alternatywne implementacje.

955
01:05:45,485 --> 01:05:48,329
Tester może zdecydować,
którą z nich zastosować.

956
01:05:49,504 --> 01:05:55,385
W ten sposób można wskazać, że dwie
implementacje są równoważne,

957
01:05:55,466 --> 01:05:59,417
jeśli zaimplementujemy
je w różnych językach.

958
01:06:00,138 --> 01:06:02,338
Jeśli chodzi o katalogi funkcji,

959
01:06:02,368 --> 01:06:06,848
to nie wydaje mi się, żeby ta koncepcja
była szeroko rozpowszechniona,

960
01:06:06,933 --> 01:06:10,639
ale jest dużo API, które zapewniają
właściwe funkcje.

961
01:06:10,663 --> 01:06:13,480
Myślę, że będzie to dla nas inspiracja.

962
01:06:13,505 --> 01:06:15,941
Nie planujemy ich importować,

963
01:06:15,997 --> 01:06:19,869
także dlatego, że nie wiadomo,
jaka będzie nasza sytuacja prawna,

964
01:06:19,910 --> 01:06:23,985
ale mam nadzieję, że wiele z nich będzie
można zaimplementować w Wikifunkcjach,

965
01:06:23,993 --> 01:06:26,858
więc możemy wykorzystać
jako inspirację to, co powinno być

966
01:06:26,969 --> 01:06:29,993
w takim API, katalogu funkcji itp.

967
01:06:33,294 --> 01:06:35,833
A jeśli chodzi o różne
możliwe implementacje,

968
01:06:35,850 --> 01:06:37,627
zakładam, że będzie się dało

969
01:06:38,001 --> 01:06:40,968
zastosować wiele
implementacji równocześnie,

970
01:06:40,993 --> 01:06:43,040
a następnie sprawdzić,
czy dały te same wyniki,

971
01:06:43,056 --> 01:06:45,790
ponieważ wszystkie te funkcje powinny być

972
01:06:45,818 --> 01:06:48,849
deterministyczne i nie mieć
żadnych efektów ubocznych,

973
01:06:49,413 --> 01:06:50,673
więc można sprawdzić,

974
01:06:50,753 --> 01:06:53,966
czy zachowują się prawidłowo,
a jeśli dają różne wyniki, stwierdzasz:

975
01:06:54,046 --> 01:06:56,871
„Ups, ktoś określił to jako
implementację niewłaściwej funkcji”.

976
01:07:00,977 --> 01:07:05,857
Jeśli chodzi o łączenie z zewnętrznymi
implementacjami naszych definicji funkcji,

977
01:07:05,938 --> 01:07:09,304
teoretycznie jest to
możliwe, ale w praktyce

978
01:07:10,706 --> 01:07:12,730
to, co robimy,
jest jakby szyte na miarę,

979
01:07:12,811 --> 01:07:14,414
odmienne od tego, co robią inni,

980
01:07:14,495 --> 01:07:18,209
więc może to być
pozbawione sensu.

981
01:07:24,668 --> 01:07:26,028
Następne pytanie:

982
01:07:26,477 --> 01:07:31,342
W większości platform chmurowych są opłaty
za pracę na lambdach czy też funkcjach,

983
01:07:31,509 --> 01:07:33,445
więc jeśli ma to być darmowa usługa,

984
01:07:33,485 --> 01:07:36,786
jak sprawicie, żeby nie podzieliła
losu Commons,

985
01:07:36,803 --> 01:07:40,802
tzn. nie była używana do wydobywania
bitcoinów, smart kontraktów itp.?

986
01:07:41,255 --> 01:07:42,935
Jest też podobne pytanie

987
01:07:43,453 --> 01:07:45,912
od innego użytkownika
czy redaktora:

988
01:07:45,993 --> 01:07:49,048
Jakie będą zabezpieczenia
przed nadużyciami,

989
01:07:49,129 --> 01:07:52,041
np. nadużyciami po stronie
klienta i wydobywaniem kryptowalut.

990
01:07:52,913 --> 01:07:54,937
Ja odpowiem.

991
01:07:57,239 --> 01:08:00,594
Po pierwsze to będzie pewne wyzwanie.

992
01:08:01,579 --> 01:08:03,826
Sądzimy, że istnieje

993
01:08:04,485 --> 01:08:07,937
potencjalne rzeczywiste zastosowanie dla

994
01:08:08,032 --> 01:08:12,460
przykładowego kodu
do wydobycia bitcoinów w Wikifunkcjach,

995
01:08:12,651 --> 01:08:15,175
ilustrującego artykuł o ich wydobyciu.

996
01:08:15,405 --> 01:08:18,967
Nie możemy nałożyć po prostu zakazu
na wszystkie operacje

997
01:08:19,048 --> 01:08:20,728
na liczbach pierwszych.

998
01:08:21,867 --> 01:08:25,835
Ale w praktyce wydobywanie monet
zużywa dużo zasobów procesora

999
01:08:26,167 --> 01:08:30,103
i te wszystkie żądania
muszą być skumulowane,

1000
01:08:30,294 --> 01:08:32,865
więc wprowadzimy surowe limity,

1001
01:08:32,897 --> 01:08:36,289
jeśli chodzi o czas
odpowiedzi dla danej funkcji:

1002
01:08:36,341 --> 01:08:39,690
ile razy dany użytkownik może
wywoływać tę samą funkcję,

1003
01:08:39,707 --> 01:08:41,167
używając różnych danych wejściowych.

1004
01:08:41,191 --> 01:08:46,999
Mamy nadzieję, że w połączeniu z innymi
środkami zapobiegawczymi pozwoli to

1005
01:08:47,111 --> 01:08:49,634
ograniczyć nadużycia.

1006
01:08:49,984 --> 01:08:52,475
Oczywiście nie wątpię,
że ludzie będą próbować,

1007
01:08:52,515 --> 01:08:54,315
tak samo jak ludzie próbują

1008
01:08:54,365 --> 01:08:58,317
pisać, że ktoś, kto żyje,
umarł, albo odwrotnie,

1009
01:08:58,547 --> 01:09:00,809
fałszując dane w Wikipedii.

1010
01:09:00,857 --> 01:09:04,245
Dlatego musimy zapewnić
społeczności dobry, sprawny system,

1011
01:09:04,325 --> 01:09:08,809
który automatycznie wykrywałby
przypadki nadużyć,

1012
01:09:08,873 --> 01:09:13,912
ale też oznaczał niedawne zmiany, żeby
społeczność mogła wyłapywać problemy.

1013
01:09:15,459 --> 01:09:19,340
Nie zakładam, że nasze
rozwiązania wszystko załatwią.

1014
01:09:19,523 --> 01:09:24,356
Zawsze znajdą się cwaniacy,
którzy będą chcieli oszukać system.

1015
01:09:24,754 --> 01:09:27,277
Powstrzymywanie ich to będzie zabawa.

1016
01:09:27,650 --> 01:09:29,372
Jeśli chodzi o nadużycia
po stronie klienta,

1017
01:09:29,396 --> 01:09:33,649
to cały kod będzie umieszczony
w odizolowanych zbiorach na back-endzie,

1018
01:09:33,801 --> 01:09:37,705
które będą miały dostęp do sieci
jedynie w celu podania odpowiedzi,

1019
01:09:37,888 --> 01:09:41,292
którą użytkownik będzie
widział w postaci zwykłego tekstu.

1020
01:09:41,324 --> 01:09:44,324
Oczywiście ponieważ mogą
z tego korzystać osoby trzecie,

1021
01:09:44,367 --> 01:09:50,085
nie możemy ich powstrzymać przed
przekładaniem zwykłego tekstu na HTML

1022
01:09:50,248 --> 01:09:51,928
i narażaniem się na atak,

1023
01:09:52,097 --> 01:09:55,067
ale będą wielkie ostrzeżenia
w API mówiące,

1024
01:09:55,148 --> 01:09:58,468
że odpowiedź nie jest bezpieczna
i powinna być traktowana

1025
01:09:58,549 --> 01:10:01,152
jako zwykły tekst, czy coś takiego.

1026
01:10:02,580 --> 01:10:04,669
Mam nadzieję, że to wystarczająca
odpowiedź.

1027
01:10:13,833 --> 01:10:14,896
Przepraszam za tę przerwę.

1028
01:10:14,921 --> 01:10:15,936
Następne pytanie:

1029
01:10:15,944 --> 01:10:19,547
Czy użytkownicy będą musieli mieć
specjalne uprawnienia do tworzenia funkcji

1030
01:10:19,563 --> 01:10:23,467
i czy będzie wymagany konsensus
społeczności do ich tworzenia,

1031
01:10:23,523 --> 01:10:26,261
tak jak w przypadku
własności na Wikidanych.

1032
01:10:30,990 --> 01:10:34,045
Będziemy przyznawać pewne uprawnienia,

1033
01:10:34,069 --> 01:10:39,346
społeczność będzie decydować, w jaki
sposób i komu te uprawnienia przyznawać,

1034
01:10:39,577 --> 01:10:45,354
czy trzeba będzie pełnić
określoną funkcję itd.

1035
01:10:46,331 --> 01:10:48,782
Mam nadzieję, że jeśli
chodzi o tworzenie funkcji,

1036
01:10:48,799 --> 01:10:54,576
to zawsze będzie dostępne dla
wszystkich użytkowników Wikifunkcji.

1037
01:10:54,989 --> 01:11:01,401
Może być inaczej w przypadku
zatwierdzania implementacji itp.,

1038
01:11:01,425 --> 01:11:07,512
tak żeby niektóre z tych
mechanizmów zapobiegania nadużyciom,

1039
01:11:07,560 --> 01:11:11,282
które opisywał James,
opierały się na założeniu,

1040
01:11:11,330 --> 01:11:16,948
że nie każda implementacja może
być stosowana od razu przez wszystkich,

1041
01:11:16,981 --> 01:11:19,059
ale może wymagać pewnych ulepszeń.

1042
01:11:19,067 --> 01:11:23,631
Wraz ze społecznością
wciąż analizujemy,

1043
01:11:23,663 --> 01:11:26,463
jak te uprawnienia powinny działać.

1044
01:11:39,619 --> 01:11:40,979
Następne pytanie:

1045
01:11:40,992 --> 01:11:43,062
Kod wymaga konserwacji.

1046
01:11:43,078 --> 01:11:45,522
Kto będzie się tym zajmował,
jeśli dojdzie do zmian

1047
01:11:45,555 --> 01:11:49,903
i odejdą pierwotni programiści
albo eksperci językowi?

1048
01:11:55,880 --> 01:11:58,626
To są właściwie dwa pytania.

1049
01:11:58,733 --> 01:12:02,820
Są eksperci od oprogramowania
i eksperci językowi z platformy

1050
01:12:02,876 --> 01:12:05,153
i są eksperci ze społeczności.

1051
01:12:05,185 --> 01:12:07,852
Jedni i drudzy mają swój zakres zadań.

1052
01:12:07,963 --> 01:12:10,582
Społeczność zajmuje się tym,

1053
01:12:10,701 --> 01:12:11,915
co dzieje się w społeczności.

1054
01:12:11,939 --> 01:12:15,534
Jeśli jakaś Wikifunkcja
robi się przestarzała,

1055
01:12:15,852 --> 01:12:19,638
to w pewnym sensie oznacza, że społeczność
nie jest już nią zainteresowana.

1056
01:12:19,670 --> 01:12:23,796
Ale poza tym mamy zespół
i normalne programistyczne praktyki.

1057
01:12:23,821 --> 01:12:26,232
Nie wiem, czy mogę coś
więcej powiedzieć na ten temat.

1058
01:12:26,360 --> 01:12:29,767
Są pewne procesy, które zespoły
programistyczne stosują

1059
01:12:29,848 --> 01:12:31,095
w takich wypadkach.

1060
01:12:31,175 --> 01:12:36,516
Mamy tu dwa pytania
i nie wiedziałem, na które odpowiedzieć.

1061
01:12:40,658 --> 01:12:42,832
To wygląda podobnie
jak w przypadku Wikipedii

1062
01:12:42,896 --> 01:12:45,388
i artykułów na Wikipedii.

1063
01:12:45,483 --> 01:12:50,046
Zakładamy, że kiedy
pierwotni autorzy odejdą,

1064
01:12:50,293 --> 01:12:53,657
ich miejsce zajmą inni.

1065
01:12:53,825 --> 01:12:55,919
Albo też ktoś po prostu stwierdzi:

1066
01:12:55,933 --> 01:12:59,562
„To jest przestarzałe, trzeba
coś z tym zrobić”.

1067
01:12:59,643 --> 01:13:02,550
Pod tym względem Wikifunkcje
nie będą się różnić

1068
01:13:02,631 --> 01:13:04,889
od innych projektów Wikimediów.

1069
01:13:05,959 --> 01:13:12,403
Myślę, że tak jak mówiliśmy wcześniej
odnośnie do pracy nad UX,

1070
01:13:12,633 --> 01:13:15,233
ważną częścią tego projektu jest

1071
01:13:15,586 --> 01:13:19,236
świadomość, że te funkcje
wymagają konserwacji.

1072
01:13:19,267 --> 01:13:24,673
Ułatwienie znajdowania osób,
które by się tym zajmowały,

1073
01:13:24,767 --> 01:13:29,401
i odpowiednie oznaczanie rzeczy, które
robią się przestarzałe, jak mówił Cory,

1074
01:13:29,790 --> 01:13:32,289
wymaga też wiele pracy nad UX.

1075
01:13:43,558 --> 01:13:48,486
Teraz będę trochę skakał po tematach,

1076
01:13:48,567 --> 01:13:51,747
bo niektórzy mają po parę pytań.

1077
01:13:52,785 --> 01:13:56,014
Czy możliwe będzie
pisanie testów dla funkcji

1078
01:13:56,101 --> 01:13:58,529
i używanie tych samych testów

1079
01:13:58,537 --> 01:14:01,437
dla różnych implementacji
tej samej funkcji?

1080
01:14:03,990 --> 01:14:05,727
Ja powiem parę słów na ten temat.

1081
01:14:05,799 --> 01:14:08,235
Właśnie teraz nad tym pracuję,

1082
01:14:08,259 --> 01:14:12,767
przygotowuję testy dla implementacji.

1083
01:14:13,069 --> 01:14:15,029
Kiedy tworzona jest funkcja, ma ona

1084
01:14:15,290 --> 01:14:17,465
wiele implementacji,
jak wspominaliśmy.

1085
01:14:17,545 --> 01:14:20,172
To mogą być różne języki programowania

1086
01:14:20,386 --> 01:14:23,386
albo różne implementacje
w tym samym języku.

1087
01:14:23,688 --> 01:14:27,505
Do tego każda funkcja
przechodzi serię testów,

1088
01:14:27,807 --> 01:14:31,007
które sprawdzają, czy działa ona
tak, jak powinna.

1089
01:14:31,148 --> 01:14:35,092
Każdy z tych testów jest wykonywany
na poszczególnych implementacjach.

1090
01:14:35,354 --> 01:14:38,560
Jeśli mam funkcję napisaną
w Pythonie, JavaScripcie i Lua

1091
01:14:38,838 --> 01:14:41,107
i mam test do weryfikacji tej funkcji,

1092
01:14:41,131 --> 01:14:45,011
to będzie on wykonany
w JavaScripcie, Pythonie i Lua,

1093
01:14:45,274 --> 01:14:47,813
a wyniki testu będą wyświetlone
w interfejsie użytkownika.

1094
01:14:48,901 --> 01:14:52,083
Testy przeprowadzane są
na serwerze, żeby znajdowały się

1095
01:14:52,257 --> 01:14:54,953
w pamięci podręcznej,
chyba że zmieni się coś

1096
01:14:55,034 --> 01:14:58,405
w funkcji, implementacji
albo w samym teście.

1097
01:14:58,486 --> 01:15:00,057
Ale krótko mówiąc: tak.

1098
01:15:00,133 --> 01:15:02,657
Każda implementacja,
każda funkcja może być

1099
01:15:02,800 --> 01:15:04,744
poddana serii testów

1100
01:15:05,038 --> 01:15:08,474
i każdy z tych testów będzie
sprawdzał poszczególne implementacje.

1101
01:15:18,455 --> 01:15:19,815
Następne pytanie:

1102
01:15:20,938 --> 01:15:23,494
Jak szybko przeciętny wikipedysta

1103
01:15:23,803 --> 01:15:28,509
nauczy się korzystać z Wikifunkcji?

1104
01:15:32,684 --> 01:15:35,584
Odpowiedź na to pytanie
jest wielopoziomowa.

1105
01:15:37,580 --> 01:15:42,341
Przyjmę najbardziej przyjemną
dla nas interpretację tego pytania,

1106
01:15:42,419 --> 01:15:44,681
czyli ile czasu potrzeba,
żeby zacząć używać Wikifunkcji,

1107
01:15:44,706 --> 01:15:46,824
na przykład w projekcie Wikimedia.

1108
01:15:46,936 --> 01:15:50,277
Mamy nadzieję, że to będzie bardzo łatwe,

1109
01:15:50,618 --> 01:15:56,769
że będzie można po prostu
wrzucić wywołanie funkcji w VisualEditor.

1110
01:15:56,999 --> 01:16:03,618
Klikasz „Wstaw wywołanie funkcji tutaj”,
wybierasz funkcję, wprowadzasz argumenty,

1111
01:16:03,785 --> 01:16:06,133
klikasz „Zapisz”
i już – jest gotowa do użycia.

1112
01:16:06,157 --> 01:16:10,522
Nie powinno to wymagać
praktycznie żadnej nauki.

1113
01:16:10,594 --> 01:16:13,760
Ma to być jakby gotowe rozwiązanie.

1114
01:16:14,553 --> 01:16:19,711
Dla przeciętnego wikipedysty
powinno być to łatwe.

1115
01:16:20,816 --> 01:16:23,474
Z drugiej strony pojawia się pytanie,

1116
01:16:23,562 --> 01:16:27,680
jak szybko przeciętny
wikipedysta może zacząć

1117
01:16:27,895 --> 01:16:31,815
programować nowe funkcje,
tworzyć implementacje, testy itd.

1118
01:16:31,903 --> 01:16:34,656
Będzie to trochę bardziej skomplikowane
niż w poprzednim przypadku,

1119
01:16:34,673 --> 01:16:38,617
ale Aishwarya i reszta zespołu, Lindsay,

1120
01:16:38,800 --> 01:16:42,728
pracują bardzo ciężko nad tym,

1121
01:16:44,838 --> 01:16:49,274
żeby można było się tego łatwo nauczyć,

1122
01:16:49,306 --> 01:16:53,099
bez długiego szkolenia itd.

1123
01:16:53,352 --> 01:16:59,598
Liczymy, że będzie to bardziej przystępne
niż większość języków programowania.

1124
01:17:07,873 --> 01:17:09,650
To mi chyba wcześniej umknęło.

1125
01:17:09,674 --> 01:17:10,954
Następne pytanie:

1126
01:17:11,000 --> 01:17:13,777
Jak funkcje będą się odnosić do artykułów

1127
01:17:13,809 --> 01:17:17,182
na tematy, które są przedmiotem
konfliktów między różnymi Wikipediami?

1128
01:17:19,790 --> 01:17:21,639
Ja pokrótce na to odpowiem.

1129
01:17:22,512 --> 01:17:24,844
Tematy, które są przedmiotem
konfliktów między Wikipediami,

1130
01:17:24,869 --> 01:17:29,853
prawdopodobnie mają już
artykuły w danych językach,

1131
01:17:29,885 --> 01:17:33,837
więc one będą po prostu nadpisywać
treść Abstrakcyjnej Wikipedii

1132
01:17:34,084 --> 01:17:40,083
i nie trzeba będzie tego rozwiązywać
na poziomie Abstrakcyjnej Wikipedii.

1133
01:17:41,338 --> 01:17:46,107
A jak osiągnąć porozumienie
w przypadku Abstrakcyjnej Wikipedii?

1134
01:17:47,678 --> 01:17:49,282
Mógłbym dać bardzo szczegółową odpowiedź

1135
01:17:49,314 --> 01:17:52,401
opisującą moje doświadczenie
z chorwacką i serbską Wikipedią

1136
01:17:52,417 --> 01:17:55,758
i jak udało się to pogodzić
z angielską Wikipedią.

1137
01:17:55,989 --> 01:17:59,036
Ludzie potrafią jakoś dojść
do porozumienia, jeśli muszą,

1138
01:17:59,052 --> 01:18:02,401
choć nie zawsze przenosi się to
na lokalne Wikipedie.

1139
01:18:02,473 --> 01:18:07,584
Będziemy korzystać z tych
mechanizmów, które teraz mamy,

1140
01:18:07,608 --> 01:18:12,155
do uzgadniania treści
w poszczególnych Wikipediach.

1141
01:18:12,965 --> 01:18:16,520
Chętnie opowiem o tym szczegółowo później

1142
01:18:16,560 --> 01:18:19,941
w pokoju dyskusyjnym.

1143
01:18:23,859 --> 01:18:25,723
Teraz mamy dwuczęściowe pytanie,

1144
01:18:25,748 --> 01:18:29,866
a właściwie dwie osoby zadały
podobne pytania, więc je połączę.

1145
01:18:30,010 --> 01:18:32,842
Niektóre wzorce projektowe
i techniki programowania funkcyjnego

1146
01:18:32,858 --> 01:18:35,032
nie dają prostego typu.

1147
01:18:35,311 --> 01:18:37,604
Wasze demo pokazuje, że funkcje
mają przypisane typy,

1148
01:18:37,668 --> 01:18:40,001
ale wiele języków tego nie narzuca.

1149
01:18:40,033 --> 01:18:43,310
Czy nie będzie to zmuszać programistów
używających Pythona/JavaScriptu

1150
01:18:43,398 --> 01:18:46,662
do pracy w taki sposób,
jakby używali Javy lub C++?

1151
01:18:47,700 --> 01:18:49,140
I podobne pytanie:

1152
01:18:49,406 --> 01:18:52,215
Czy Wikifunkcje będą miały
wyraźny podział na typy?

1153
01:18:52,263 --> 01:18:55,207
Jakie typy danych
Wikifunkcje będą obsługiwać?

1154
01:18:55,438 --> 01:18:58,382
Czy będą funkcje
do odwracania powiązanej listy,

1155
01:18:58,467 --> 01:19:00,175
równoważenia drzewa binarnego,

1156
01:19:00,184 --> 01:19:01,704
algorytmu Dijkstry?

1157
01:19:03,739 --> 01:19:06,652
Ja odpowiem.

1158
01:19:09,118 --> 01:19:12,188
Warto tutaj wspomnieć, że jest taka dobra

1159
01:19:12,706 --> 01:19:14,386
zasada w programowaniu,

1160
01:19:14,420 --> 01:19:16,594
żeby być szczodrym, jeśli chodzi
o dane wejściowe,

1161
01:19:16,627 --> 01:19:18,936
ale rygorystycznym
w kwestii danych wyjściowych.

1162
01:19:18,999 --> 01:19:21,856
Myślę, że w pewnym zakresie

1163
01:19:22,067 --> 01:19:24,852
nasz model wykonania może pozwalać

1164
01:19:25,081 --> 01:19:27,232
na większą szczodrość,
jeśli chodzi o dane wyjściowe,

1165
01:19:27,313 --> 01:19:31,436
ale generalnie bardzo łatwo jest
przyjmować dowolne dane wejściowe.

1166
01:19:31,517 --> 01:19:34,048
Mogę napisać funkcję,
która przyjmuje dowolny typ

1167
01:19:34,129 --> 01:19:40,000
obiektu i przekształca go w odpowiedni
typ w Pythonie lub JavaScripcie.

1168
01:19:40,939 --> 01:19:44,500
Zwracanie danych wyjściowych,
które mogą być dowolnego typu,

1169
01:19:44,581 --> 01:19:46,113
jest nieco trudniejsze.

1170
01:19:46,820 --> 01:19:50,010
O ile się nie mylę,

1171
01:19:50,089 --> 01:19:52,383
ta kwestia pozostaje otwarta.

1172
01:19:52,406 --> 01:19:54,389
Mamy w tej chwili jedną metodę,

1173
01:19:54,453 --> 01:19:56,445
która może się zmieniać
w zależności od tego,

1174
01:19:56,453 --> 01:19:58,786
jak będzie ewoluować nasz model funkcji.

1175
01:19:58,810 --> 01:20:01,611
Ponownie jednak zaznaczę,

1176
01:20:01,636 --> 01:20:04,937
że jeśli chcemy zwracać dowolny
typ danych w Pythonie czy JavaScripcie,

1177
01:20:05,096 --> 01:20:09,841
to może nie jest to najlepszy pomysł.

1178
01:20:09,953 --> 01:20:13,604
Myślę, że ta opcja nie jest aż tak ważna.

1179
01:20:13,636 --> 01:20:16,953
Kwestia pozostaje otwarta,

1180
01:20:16,969 --> 01:20:20,358
ale powiedziałbym, że w danych wyjściowych
jest ściślejszy podział na typy.

1181
01:20:20,422 --> 01:20:25,897
Oczywiście możemy swobodnie pracować
w obrębie Pythona czy JavaScriptu,

1182
01:20:25,946 --> 01:20:30,009
jeśli chcemy mieć wiele funkcji
w tym samym środowisku wykonawczym.

1183
01:20:30,056 --> 01:20:35,801
Jeżeli chodzi o wbudowane
funkcje do odwracania

1184
01:20:35,867 --> 01:20:39,890
list, równoważenia drzewa
binarnego czy do algorytmu Dijkstry,

1185
01:20:39,906 --> 01:20:42,517
to nie sądzę, żebyśmy mieli je
tworzyć jako zespół,

1186
01:20:42,541 --> 01:20:45,207
ale społeczność z całą pewnością

1187
01:20:45,233 --> 01:20:47,573
potraktuje je priorytetowo.

1188
01:20:47,597 --> 01:20:52,088
Spodziewam się, że zobaczymy
te funkcje dość szybko.

1189
01:20:55,113 --> 01:20:56,452
Myślę też, że ponieważ pracujemy

1190
01:20:56,533 --> 01:21:00,255
na bardzo małych funkcjach,
które muszą być interoperacyjne,

1191
01:21:00,336 --> 01:21:05,486
potrzebujemy bardzo mocnego i wyraźnego
API między tymi funkcjami.

1192
01:21:05,985 --> 01:21:08,929
Jeśli piszesz funkcję,
która zwraca ciąg znaków,

1193
01:21:09,365 --> 01:21:13,135
i chcesz, żeby zwracała alternatywny
obiekt, w razie gdyby coś poszło nie tak,

1194
01:21:13,223 --> 01:21:15,103
to może nie jest to najlepszy wybór,

1195
01:21:15,433 --> 01:21:19,087
jeśli chodzi o pracę w obrębie
wielojęzykowego paradygmatu,

1196
01:21:19,128 --> 01:21:20,492
takiego jak mamy tutaj.

1197
01:21:25,587 --> 01:21:26,618
Następne pytanie,

1198
01:21:26,626 --> 01:21:31,133
ale zanim do niego przejdę,
dodam, że zostało nam tylko 8 minut,

1199
01:21:31,190 --> 01:21:33,300
więc odpowiemy na tyle
pytań, na ile zdążymy,

1200
01:21:33,381 --> 01:21:36,911
a potem będziemy kontynuować
w Etherpadzie,

1201
01:21:36,967 --> 01:21:38,919
w naszej liście mailingowej,

1202
01:21:39,000 --> 01:21:41,900
albo rozmawiając
z wami w trakcie Wikimanii.

1203
01:21:42,681 --> 01:21:43,704
Pytanie brzmi:

1204
01:21:43,737 --> 01:21:45,473
W językach takich jak hebrajski

1205
01:21:45,505 --> 01:21:47,537
mamy bardzo nieregularną morfologię.

1206
01:21:47,814 --> 01:21:49,584
Poza Wikipedią morfologie

1207
01:21:49,664 --> 01:21:53,013
wykorzystują ponad 100 tabelek
dla samych czasowników,

1208
01:21:53,116 --> 01:21:54,933
a rzeczowniki są jeszcze bardziej złożone.

1209
01:21:55,004 --> 01:21:57,512
Czy w takich przypadkach
przewidziana jest obsługa baz danych?

1210
01:22:01,457 --> 01:22:02,853
Myślę, że będzie to konieczne

1211
01:22:03,004 --> 01:22:04,684
w dalszej perspektywie,

1212
01:22:05,338 --> 01:22:08,639
ale sądzę, że na początku projektu

1213
01:22:08,885 --> 01:22:11,837
możemy polegać na funkcjach w tej kwestii.

1214
01:22:12,123 --> 01:22:14,210
Oczywiście będą one popełniać błędy,

1215
01:22:14,552 --> 01:22:19,512
więc na dłuższą metę nie widzę
innego wyjścia niż użycie baz danych

1216
01:22:19,893 --> 01:22:22,369
np. do nieregularnej odmiany.

1217
01:22:23,865 --> 01:22:26,864
Do tego też służą
leksykograficzne dane w Wikidanych.

1218
01:22:26,873 --> 01:22:31,221
Na pewno będziemy chcieli
umieścić tam formy nieregularne.

1219
01:22:38,825 --> 01:22:39,825
Następne:

1220
01:22:40,433 --> 01:22:43,615
Jak to się będzie miało
do strony Wolfram Alpha?

1221
01:22:47,671 --> 01:22:49,988
Wikifunkcje to będzie edytowalna strona,

1222
01:22:49,997 --> 01:22:52,020
narzędzie, z którego każdy może korzystać,

1223
01:22:52,052 --> 01:22:55,711
gdzie każdy może tworzyć
nowe funkcje, wywoływać funkcje

1224
01:22:55,790 --> 01:22:58,314
i gdzie implementacje funkcji

1225
01:22:58,330 --> 01:23:02,774
są w pełni dostępne i mogą być
wykorzystywane w wielu różnych sytuacjach.

1226
01:23:05,004 --> 01:23:09,519
Zatem są zasadnicze różnice w porównaniu
z tym, jak działa Wolfram Alpha.

1227
01:23:10,575 --> 01:23:13,288
Kolejną istotną różnicą jest to, że naszym

1228
01:23:13,614 --> 01:23:17,074
głównym celem, jeśli
chodzi o Wikifunkcje,

1229
01:23:17,146 --> 01:23:19,773
jest generowanie naturalnego języka.

1230
01:23:19,829 --> 01:23:24,455
Chcemy stworzyć społeczność,
która będzie nam w tym pomagała,

1231
01:23:24,767 --> 01:23:28,782
podczas gdy Wolfram Alpha
skupia się bardziej

1232
01:23:29,156 --> 01:23:32,473
na problemach naukowych
i wyższej matematyce.

1233
01:23:34,735 --> 01:23:40,647
Jedyne podobieństwo
to wykorzystywanie funkcji.

1234
01:23:49,794 --> 01:23:51,000
Następne pytanie:

1235
01:23:51,040 --> 01:23:53,214
Czy funkcje mogą zwracać obrazy,

1236
01:23:53,532 --> 01:23:55,857
takie jak SVG, wykresy, mapy?

1237
01:23:57,397 --> 01:23:59,896
Jeszcze nie, ale mam nadzieję,
że z czasem będą mogły.

1238
01:24:06,968 --> 01:24:11,555
Tak, poza tym binarne kodowanie
danych itd.

1239
01:24:11,674 --> 01:24:16,301
Choć w tej chwili ograniczamy się
do tekstu, nie zawsze tak będzie.

1240
01:24:16,745 --> 01:24:19,959
Ale nie zaczynajmy od tworzenia funkcji
obsługujących rzeczywistość rozszerzoną.

1241
01:24:19,976 --> 01:24:23,428
Skupmy się na tych, które będą
wspierać istniejące projekty tekstowe.

1242
01:24:29,452 --> 01:24:30,491
Następne pytanie…

1243
01:24:30,555 --> 01:24:33,420
Tu mamy lepiej sformułowane
pytanie, które pojawiło się wcześniej.

1244
01:24:34,111 --> 01:24:37,167
Jeśli społeczność będzie chętnie
przyjmować treści

1245
01:24:37,248 --> 01:24:38,845
z Abstrakcyjnej Wikipedii,

1246
01:24:38,925 --> 01:24:44,655
na ile oprogramowanie Abstrakcyjnej
Wikipedii / Wikifunkcji jej w tym pomoże?

1247
01:24:45,045 --> 01:24:47,338
Może poprzez obsługę
jednym kliknięciem czy boty?

1248
01:24:49,379 --> 01:24:52,204
To jeszcze trochę zbyt odległa przyszłość.

1249
01:24:52,228 --> 01:24:55,609
To jest coś, co będziemy
musieli ustalić w 2023 r.

1250
01:24:57,131 --> 01:24:59,567
Mam nadzieję, że będą rozwiązania

1251
01:24:59,790 --> 01:25:02,210
oparte na jednym kliknięciu,

1252
01:25:02,354 --> 01:25:04,766
że nie będziemy musieli korzystać z botów.

1253
01:25:04,782 --> 01:25:06,515
To by było rozczarowujące.

1254
01:25:06,836 --> 01:25:09,843
Być może pojawią się nawet rozwiązania
niewymagające kliknięcia,

1255
01:25:09,924 --> 01:25:13,409
które dana społeczność, dana
Wikipedia może wykorzystywać

1256
01:25:13,600 --> 01:25:19,052
do wyświetlania treści
z Abstrakcyjnej Wikipedii,

1257
01:25:19,250 --> 01:25:22,607
jeśli sama nie ma artykułu na ten temat.

1258
01:25:22,862 --> 01:25:25,726
To jest coś, co Wikipedia

1259
01:25:26,996 --> 01:25:29,385
może zrobić hurtowo,

1260
01:25:29,449 --> 01:25:33,083
nawet zastosować rozwiązania bez
kliknięcia, żeby zapewnić więcej treści.

1261
01:25:33,441 --> 01:25:37,345
Ale tę dyskusję musimy
przeprowadzić jako społeczność

1262
01:25:37,615 --> 01:25:44,186
za rok albo dwa –
wtedy zdecydujemy.

1263
01:25:46,552 --> 01:25:49,774
Podobnie jest w przypadku
artykułów zastępczych,

1264
01:25:49,861 --> 01:25:53,381
które już istnieją,
wykorzystują szczątkowe dane

1265
01:25:53,496 --> 01:25:56,043
oparte na Wikidanych.
Są one indeksowane

1266
01:25:56,885 --> 01:26:00,202
i uwzględniane w wynikach
wyszukiwania, więc jest precedens,

1267
01:26:00,813 --> 01:26:03,511
nawet bez obsługi jednym kliknięciem.

1268
01:26:05,655 --> 01:26:07,921
Tak, świetne porównanie, dziękuję.

1269
01:26:11,915 --> 01:26:14,335
Następne pytanie. Zostały nam 3 minuty.

1270
01:26:14,416 --> 01:26:17,437
Czy interfejs będzie przyjazny dla
użytkownika, jak w przypadku Wikidanych,

1271
01:26:17,518 --> 01:26:18,756
co jest dyskusyjne,

1272
01:26:18,837 --> 01:26:21,126
tak żeby osoby z niewielką
lub żadną wiedzą

1273
01:26:21,207 --> 01:26:23,807
na temat programowania też mogły pomóc?

1274
01:26:28,750 --> 01:26:30,496
Tak, taki mamy cel.

1275
01:26:30,520 --> 01:26:33,120
Razem z Aishwaryą, której dziś nie ma,

1276
01:26:33,663 --> 01:26:36,211
pracujemy nad stworzeniem
interfejsu użytkownika,

1277
01:26:36,292 --> 01:26:39,981
który będzie przyjazny dla osób z małym lub
zerowym doświadczeniem w programowaniu,

1278
01:26:40,062 --> 01:26:44,093
z myślą o wyszukiwaniu funkcji,
łączeniu funkcji i tworzeniu własnych.

1279
01:26:44,174 --> 01:26:45,468
Taki jest cel.

1280
01:26:53,601 --> 01:26:54,704
Następne pytanie:

1281
01:26:54,785 --> 01:26:58,696
Skąd będziemy wiedzieć, że środowisko
jest odtwarzalne i solidne?

1282
01:26:58,777 --> 01:27:01,285
Jeśli popularna funkcja
będzie musiała być wycofana,

1283
01:27:01,325 --> 01:27:04,436
np. ze względu na prawa
autorskie lub decyzję społeczności,

1284
01:27:04,492 --> 01:27:08,015
będzie to katastrofalne dla wszystkich
funkcji, które z niej korzystają.

1285
01:27:08,879 --> 01:27:10,403
Testy jednostkowe są niewystarczające,

1286
01:27:10,428 --> 01:27:13,539
zwłaszcza kiedy mamy do czynienia
ze środowiskiem i efektami ubocznymi.

1287
01:27:15,365 --> 01:27:16,658
Ja spróbuję krótko odpowiedzieć.

1288
01:27:16,666 --> 01:27:18,626
To pytanie można podzielić na dwie części.

1289
01:27:18,642 --> 01:27:23,118
Po pierwsze: jak możemy odtwarzać
funkcje i skąd wiemy, że są odtwarzalne?

1290
01:27:23,253 --> 01:27:26,705
Wikimedia Foundation jest bardzo
przywiązana do modelu open source.

1291
01:27:26,822 --> 01:27:30,608
Cały nasz kod będzie wykorzystywał
opensource’owe obrazy dockerowe –

1292
01:27:30,973 --> 01:27:33,099
obecnie dockerowe,
kto wie, co przyniesie przyszłość –

1293
01:27:33,180 --> 01:27:35,933
obrazy dockerowe, które
będzie można pobierać.

1294
01:27:35,958 --> 01:27:39,124
Sporadycznie mogą występować jakieś
incydenty naruszające bezpieczeństwo,

1295
01:27:39,141 --> 01:27:42,045
co będzie wiązać się z tym, że obraz
może wykorzystywać niepubliczny kod,

1296
01:27:42,061 --> 01:27:45,283
ale poza tym publiczne obrazy to będą
prawdziwe obrazy wykorzystane w produkcji,

1297
01:27:45,323 --> 01:27:47,545
więc będzie można to
sprawdzić, jak mówimy:

1298
01:27:47,626 --> 01:27:50,402
„1+1=2”, będzie można
uruchomić ten kod lokalnie

1299
01:27:50,483 --> 01:27:52,300
i poskarżyć się, jeśli wyjdzie 3.

1300
01:27:53,489 --> 01:27:56,592
Ale jeśli chodzi o bardziej
zasadniczą kwestię

1301
01:27:56,743 --> 01:28:00,472
solidności środowiska
funkcji, które tworzymy,

1302
01:28:00,544 --> 01:28:02,584
jednym z naszych celów jest

1303
01:28:02,633 --> 01:28:05,220
dostarczenie redaktorom
i czytelnikom na wiki sporej

1304
01:28:05,419 --> 01:28:09,307
ilości danych na temat użytkowania,

1305
01:28:09,538 --> 01:28:15,149
które pokazują: ta funkcja jest używana
30 000 razy dziennie.

1306
01:28:15,297 --> 01:28:18,614
Dzięki temu ludzie
mogą ocenić jej znaczenie.

1307
01:28:18,969 --> 01:28:22,668
I możemy to podzielić na podstawie
źródła, na podstawie połączeń,

1308
01:28:22,670 --> 01:28:26,614
np. to jest częścią funkcji złożonej
albo jest wykorzystywane bezpośrednio.

1309
01:28:33,923 --> 01:28:35,363
Mam już zakończyć?

1310
01:28:36,574 --> 01:28:39,518
Skończył nam się czas,

1311
01:28:39,542 --> 01:28:41,526
dziękuję bardzo za pytania.

1312
01:28:41,978 --> 01:28:44,986
Cieszę się, że było
tak duże zainteresowanie.

1313
01:28:45,042 --> 01:28:49,573
Szkoda tylko, że nie mogę was
wszystkich zobaczyć.

1314
01:28:49,597 --> 01:28:55,271
Chciałbym porozmawiać z wami osobiście.

1315
01:28:55,850 --> 01:28:58,811
Niektórzy z nas będą na Remo
w trakcie Wikimanii.

1316
01:28:58,843 --> 01:29:01,112
Możecie się z nami
kontaktować, rozmawiać.

1317
01:29:01,152 --> 01:29:08,128
Dołączajcie też do naszej listy
mailingowej, do grupy ISC i innych grup,

1318
01:29:09,708 --> 01:29:12,549
przeglądajcie nasze strony,
piszcie do nas.

1319
01:29:12,668 --> 01:29:15,779
Dziękuję wszystkim za udział

1320
01:29:16,438 --> 01:29:18,118
i życzę udanej Wikimanii.

1321
01:29:18,478 --> 01:29:20,263
Dziękuję.