Czy dopuszczalne jest przesyłanie obraźliwych treści do GitHub? [Zamknięte]

12

Opracowałem obraźliwe narzędzie do sprawdzania zawartości mojej witryny i chcę opublikować je na GitHub . Jednak kod źródłowy zawiera wiele obraźliwych, rasistowskich i nieprzyjemnych treści.

Źródło jest w pełni udokumentowane, ale chciałem poznać Twoją opinię, czy można opublikować taką pracę na GitHub, czy pozostawić tablicę ciągów wyobraźni czytelnika ?!

SimonGoldstone.com
źródło
11
Kluczowe pytanie brzmi: „czy to w rzeczywistości obraźliwe? Czy to tylko„ dyktafon ”?”. że dostanie się do GitHub TOS - §7 sugeruje, że może (ale nie obowiązek) usuń ją. Możesz chcieć wyodrębnić ciągi do innego pliku, który jest następnie szyfrowany rot13 lub coś takiego, aby uniknąć obrażenia przeglądarki przyczynowej.
1
Myślę, że to w porządku, po prostu ostrzegam potencjalnych czytelników w Readme, w innych repozytoriach GitHub jest wiele obraźliwych słów. Ponadto twoja sprawa jest w dobrej wierze.
jacktrades
5
Dlaczego nie umieścić wszystkich słów w pliku tekstowym lub bazie danych i załadować je w czasie wykonywania. Następnie umieść ładne małe zastrzeżenie na początku pliku, że poniższy tekst nie jest dla osób o słabym sercu. Twój kod jest czysty i możesz używać różnych plików tekstowych w różnych sytuacjach?
Ampt
@Sparticus dzięki za komentarz. Zgadzam się i uważam, że to chyba najlepsze podejście dla mnie.
SimonGoldstone.com,
5
Samo słowo nie jest obraźliwe. Intencja, która za tym stoi, sprawia, że ​​jest to obraźliwe.
kaptan

Odpowiedzi:

45

Muszę się nie zgodzić z rozwiązaniem ROT-13. Zaciemnianie zakazanych słów po prostu dlatego, że ich widok może kogoś urazić, to strata czasu.

Twój słownik złych słów / złych reguł powinien w każdym razie pochodzić z osobnego pliku (który można załadować w czasie wykonywania lub osadzić jako zasób) . Zaciemnienie tego pliku po prostu utrudnia jego / innym programistom / użytkownikom zmianę lub naprawienie jakichkolwiek problemów. Poza tym, gdybym zobaczył plik o nazwie „banned_words.txt” na moim twardym dysku, oczekiwałbym, że zawiera on listę obraźliwych słów.

BlueRaja - Danny Pflughoeft
źródło
Zgadzam się. Nie chcę zaciemniać słów.
SimonGoldstone.com,
5
+1 @simon Takie listy już się pojawiają: github.com/snipe/banbuilder
dcaswell
2
@simon Nie miałem na myśli, że twój projekt nie był opłacalny, po prostu github pozwala ludziom przechowywać listy tak, jak chcesz. Druga odpowiedź nie brzmi „tak” lub „nie”. Chciałem tylko potwierdzić, że odpowiedź brzmi „tak”.
dcaswell
1
„ponowne wynalezienie koła” jest częścią nauki ... to większość tego, czego uczy się w college'u.
WernerCD
2
Czasami napotykasz ludzi z ... jak to powiedzieć ... delikatną wrażliwością, którzy mogą mieć wpływ na to, czy dystrybucja programu pozostanie, czy też nie. Jeśli rot13ing pliku oznacza, że ​​pozostaje, pomaga OP osiągnąć cel, jakim jest włączenie kodu i pozostanie na GitHub. To nie strata czasu w mojej książce.
Blrfl,
16

„Wszystkie problemy w informatyce można rozwiązać przez inny poziom pośredni”. ( autor: David Wheeler ).

Twoje opcje nie ograniczają się do przesłania go lub nie, jeśli weźmiesz pod uwagę, że możesz zakodować treść, aby nie przeszkadzała czytelnikom.

  • Na przykład po prostu przejście do następnej litery (A do B, B do C itp., Z Z przejściem do A w celu pełnego kodowania) może zmienić słynne czteroliterowe słowa w całkowicie nieszkodliwy Gvdl . Wszystko, czego potrzebujesz, aby użyć go w swojej aplikacji, to przesunięcie go z powrotem w przeciwnym kierunku, do poprzednich liter , z przesunięciem A do Z.

Jak wskazano w komentarzach , podejście takie jak powyższe jest stosowane w szyfrze zamiany liter ROT13 , znanym z tego, że „służy do ukrywania… ofensywnych materiałów przed przypadkowym spojrzeniem…”

 

http://upload.wikimedia.org/wikipedia/commons/thumb/3/33/ROT13_table_with_example.svg/320px-ROT13_table_with_example.svg.png


Ze względu na kompletność rozważ dodatkowo uruchomienie programu sprawdzającego przeciwko zakodowanemu słownikowi , aby upewnić się, że wybrane kodowanie nie zamieniło przypadkowo jednego obraźliwego słowa na drugie.

Podczas kodowania takich rzeczy sensowne jest podwójne sprawdzenie, ponieważ nie można w wiarygodny sposób przewidzieć rzeczy. W jednym z moich poprzednich projektów mieliśmy dość poważną awarię poczty, gdy źle skonfigurowany moduł sprawdzający zaczął odkrywać obraźliwe treści w losowych sekwencjach znaków (w nieokreślonej zawartości archiwów ZIP).


W porównaniu z przekazywaniem zwykłego tekstu, Gvdl , kodowanie ma znaczną zaletę polegającą na tym, że w pełni unika się problemów prawnych i wszystkich związanych z tym zagrożeń i zależności .

Pomyśl o tym. Powiedzmy, określone warunki usługi w danym repozytorium zezwalają na moje treści, w porządku.

Ale co, jeśli zdecydują się zmienić TOS ? Lub co jeśli zdecyduję się zmienić na inne repozytorium, mając niezgodne warunki. Co ja mam zrobić?

Zauważ, że nawet przebywanie w „przyjaznym” repozytorium, tu i teraz, wciąż nie jest w pełni bezpieczne.

Co się stanie, jeśli ktoś nie będzie mógł pobrać mojej zawartości z powodu dziwnego filtru internetowego ? Czy jestem gotów odpowiedzieć na skargi użytkowników i wyjaśnić, jak naprawić filtr? Ich filtr ...

... Widzisz, wolę przemyśleć dwa razy, zanim zdecyduję się nie kodować. I nawet jeśli zdecyduję, upewnię się, że mam bardzo, bardzo dobry powód.

komar
źródło
6
Rot13 jest tego rodzaju de facto standardem. Podwójna rotacja13 jest jeszcze lepsza. :-)
Blrfl
5
@Blrfl, podobnie jak potrójne DES, jest lepszy niż DES, potrójne zgnilizna 13 to droga.
1
Myślę, że istnieją wtyczki do wielu wydawców, które sprawiają, edytowania plików ROT13 nie mocniej niż jakikolwiek inny edytując plik, który znajduje się w specjalistycznej formie
JoelFan
2
@ Simon to nie tyle, że rot13 to zaciemnienie - to raczej standardowy sposób na ukrywanie tekstu w trywialny sposób. Zdaj sobie sprawę, że niektóre zapory ogniowe mogą być skonfigurowane do blokowania pewnych wzorców znaków, co utrudnia uzyskanie dostępu do tekstu dla funkcji programu. Problemem jest nie ofensywność, ale inne przeszkody technologiczne, które mogą nie uświadomić różnicy między „czymś, co chcesz pobrać”, a „czymś, co chcesz zablokować”. Tak, mogą uzyskać zamek błyskawiczny, ale nie będą w stanie sklonować, rozwidlić ani pchać.
2
@ThomasEding szyfr przesuwny Cezara o jedną literę. Pierwszym znakiem jest pierwotnie „F”.