Я нашел ошибку в коде моей магистерской диссертации

Я защитил магистерскую диссертацию пару месяцев назад в немецком университете. Это диссертация по информатике. В своей диссертации я в основном реализовал некоторые методы машинного обучения и сравнил их производительность. Реализации методов и предоставление их в виде открытого исходного кода считаются одним из основных вкладов в мою диссертацию. Я опубликовал исходный код онлайн на сайте Google Code.

Однако недавно я просматривал исходный код реализации двух методов и обнаружил две ошибки. Один из багов делает бесполезными результаты одного эксперимента, так как метод стал просто неверным.

Теперь я очень беспокоюсь об этом и не знаю, что делать или что я должен или должен сделать. (Они не собираются забирать мой сертификат обратно, верно?)

Мои вопросы:

  1. Поскольку одним из основных вкладов в диссертацию является выпуск исходного кода, обязан ли я исправлять ошибки?

  2. Должен ли я хранить исходный код в сети? Другими словами, могу ли я сейчас решить его снять и никому не отдавать? Я единственный, у кого есть копия исходного кода. Мой профессор никогда не просил меня записать исходный код на компакт-диск и включить его в диссертацию. Я также упоминаю в своей диссертации онлайн-репозиторий кода.

  3. У меня были очень тяжелые воспоминания об академических кругах, и я испытал такое облегчение, когда закончил. Я не хочу связываться с ними снова, чтобы рассказать им об ошибках. Но обязан ли я это делать? Я просто хочу начать новую жизнь и никогда больше не думать о прошлом.

Я задаю эти вопросы только для того, чтобы узнать свои права и есть ли у меня какие-либо обязательства. Однако, поскольку я увлечен темой своей диссертации, я на самом деле рассматриваю возможность исправления ошибок, но я не хочу связываться с моим профессором и сообщать ему, просто потому, что я просто не хочу общаться с кем-то из прошлого и все еще чувствую, что я все еще привязан к академическим кругам или что у меня есть обязательства по отношению к ним.

Никто еще не использовал мой код, поэтому, если я исправлю ошибку, человек, который будет клонировать проект, получит правильную версию (надеюсь! Я имею в виду, что каждое программное обеспечение подвержено ошибкам!).

Изменить :

Меня спросили "обязан кем?". Ну, я думаю, что, поскольку одним из основных вкладов в мою диссертацию является исходный код, и поскольку мои экзаменаторы приняли мою диссертацию, потому что в ней есть дополнения, я подумал, что у меня всегда должен быть этот исходный код. Мне кажется, что это контракт:

Делайте вклады (исходный код как основной вклад) -> защита диссертации -> вы получаете степень.

Теперь отозвать вклад -> диссертация провалена -> вы не заслуживаете своей степени.

Разве это не так?

Расслабьтесь, никому не будет дела до жука. В конце концов, это просто дипломная работа. Вы не потеряете диплом.
Надеюсь, вы включили фиксацию SHA-1 вместо того, чтобы просто говорить «этот репозиторий», когда ссылались на вещи в своей диссертации. Таким образом, все в вашей диссертации по-прежнему будет иметь смысл. Если вы сделаете новую фиксацию с сообщением «Это было сломано, теперь исправлено, делает недействительной главу 2 тезиса, потому что бла», я думаю, это было бы хорошо. Я не думаю, что ваша степень находится под угрозой, и я не думаю, что вы обязаны отчитываться перед кем-либо.
Идея сдачи диссертации заключается не в том, что вы нашли правильное решение, а в том, что вы можете систематически решать проблему.
Просто подумайте, если вы загрузили свой код в Интернете, почему бы не зафиксировать обновленную версию, когда у вас есть время? Вам не нужно удалять исходный файл, торопить его или сообщать кому-либо, что вы исправили некоторые ошибки, а обновленный код может дать результаты, отличные от тех, которые вы опубликовали. Однако, если кто-то когда-либо захочет использовать или увидеть ваш код по какой-либо причине, они быстро увидят, что было обновление, что, на мой взгляд, сэкономит их время на выяснение того, какие результаты неверны, а также даст вам некоторые очки доверия. .

Ответы (2)

Я думаю, что у вас есть некоторые неверные представления о том, что такое диссертация и что такое степень. Диссертация — это не контракт, и ваши будущие обязательства при получении степени равны нулю. Это не честь, которую можно аннулировать за неподобающее поведение в будущем: это скорее постоянное признание вашей прошлой работы.

Тезис даже не обязательно должен быть полностью правильным. Я чувствую себя немного как парень, который говорит вам правду о Санта-Клаусе, но значительный процент тезисов утверждается членами комитета, которые знают, что они не совсем верны . Суждение скорее в том, что они достаточно хорошичтобы соответствовать стандарту комитета. Диссертация, оказавшаяся полностью проваленной из-за честной ошибки автора, не будет отозвана (ну, в нашем широком, диком мире может происходить много странного, но я такого еще не видел). Вина здесь лежит на комитете: они должны быть экспертами. Более того, диссертация присуждается не потому, что работа служит обществу, а скорее потому, что было сочтено, что кандидат продемонстрировал достаточное мастерство, выполняя ее. В самом деле, это мастерство можно продемонстрировать даже через порочную работу, иногда даже через работу настолько порочную, что из нее нельзя извлечь ничего положительного. По моему опыту, единственной причиной отзыва диссертации являются мошеннические действия, совершенные кандидатом в процессе работы над диссертацией .

Так что да, на мой взгляд, вы можете удалить свой открытый исходный код, не опасаясь, что ваша степень будет отозвана. Вы должны? Я так не думаю: по-моему, это было бы очень незрело.

Магистерская диссертация является профессиональной степенью. Другими словами, это что-то вроде диплома для взрослых , и любой, у кого он есть, должен быть готов вести себя как взрослый. Я с трудом удерживаюсь от психологического анализа представленных здесь уровней морального мышления , но мне кажется интересным, что ваш совершенно иррациональный страх возмездия, похоже, спасает вас от совершения неправильного поступка. Если вы сказали, что сделаете что-то доступным, то вытащить это сейчас из чисто эгоистичных соображений — это… гм… нет, у меня было это раньше: чисто эгоистично. Чтобы оправдать свое поведение, вы пишете

У меня были очень тяжелые воспоминания об Академии, и я испытал такое облегчение, что закончил. Я не хочу связываться с ними снова, чтобы рассказать им об ошибках. Но обязан ли я это делать? Я просто хочу начать новую жизнь и никогда больше не думать о прошлом.

Проверка фактов : все началось с ваших размышлений о вашей прошлой работе. Если вы хотите начать новую жизнь и никогда больше не думать о прошлом: хорошо, сделайте это. Никогда не думать о прошлом не означает вмешиваться в презентацию вашей дипломной работы. (Кстати, такая фальсификация, безусловно, может принести вам в будущем контакт с теми, кто захочет увидеть работу и хочет знать, почему вы ее удалили.)

Однако, поскольку я увлечен темой своей диссертации, я на самом деле рассматриваю возможность исправления ошибок, но я не хочу связываться с моим профессором и сообщать ему, просто потому, что я просто не хочу общаться с кем-то из прошлого и все еще чувствую, что я все еще привязан к академическим кругам или что у меня есть обязательства по отношению к ним.

Совершенно очевидно, что вы не продвинулись вперед, как в положительном, так и в отрицательном смысле. У вас снова какие-то странные детские мысли: как только вы покинете академию, какие у вас будут обязательства перед вашим профессором? Точно никакой. Но «я не хочу общаться с кем-то из прошлого» — это не профессиональная позиция. (Я знаю, что в реальной жизни профессионалы могут вести себя очень плохо. Профессионализм – это то, к чему стремятся профессионалы, но не всегда успешно.) А будущие студенты, которые попытаются продолжить ваше дело? Вы не заботитесь о них?

Резюмируя: да, вам абсолютно позволено вести себя в этом вопросе совершенно эгоистично, действуя, чтобы предотвратить ваше будущее смущение и избежать любых неприятных воспоминаний. Но попробуй подняться выше.

они не заберут мой сертификат обратно, верно

Нет, ваша степень не будет аннулирована на основании добросовестной ошибки. (Отзыв диплома имеет смысл только в случае серьезного мошенничества или неправомерных действий.)

Поскольку одним из основных вкладов в диссертацию является выпуск исходного кода, обязан ли я исправлять ошибки?

Обязаны кем? Юридических обязательств, конечно, нет, но умышленно скрывать знания от остального мира было бы неприятно и вредно.

Если вы знаете, как исправить ошибки без особых усилий, то я бы порекомендовал вам это сделать. Если вы не знаете, как их исправить или это займет слишком много времени, вы можете по крайней мере приложить заметку с объяснением проблемы (для пользы всех, кто захочет использовать код в будущем).

Должен ли я хранить исходный код в сети? Другими словами, могу ли я сейчас решить его снять и никому не отдавать?

Опять же, требуется от кого? Никто не сможет наказать вас, если вы его снимете, но изо всех сил отказывать в доступе — это как минимум недружелюбно. Если бы в вашем тезисе говорилось, что код будет общедоступным, то менять свое мнение сейчас было бы неэтично.

Я не хочу связываться с ними снова, чтобы рассказать им об ошибках. Но обязан ли я это делать?

Тебя никто не может заставить, но было бы неплохо. Подумайте об этом так: другой студент может начать проект, связанный с вашей диссертацией. Если вы не скажете своему консультанту, что результаты одного эксперимента были ошибочными, то этот студент может испытать боль и напрасно потраченное время, которых можно было бы избежать, если бы он знал о проблеме раньше. Вы можете не заботиться о своем наставнике, но, безусловно, есть некоторая ценность в предотвращении ненужных страданий будущих студентов.

И каков наихудший сценарий, если вы расскажете своему консультанту? Возможно, ваш советник оскорбил бы вас, и в этом случае вы можете получить некоторое удовлетворение от того, что вели себя лучше, чем ваш советник, но сейчас он/она ничего не может сделать, чтобы разрушить вашу жизнь.

В ответ на редактирование:

Ну, я думаю, что, поскольку одним из основных вкладов в мою диссертацию является исходный код, и поскольку мои экзаменаторы приняли мою диссертацию, потому что в ней есть дополнения, я подумал, что у меня всегда должен быть этот исходный код. Мне кажется, что это контракт:

Если в диссертации вы сказали, что код будет доступен в общедоступном репозитории, то у вас есть этическое обязательство поддерживать его доступность. Но университеты аннулируют дипломы очень редко и по исключительно серьезным причинам, таким как мошенничество в исследованиях или жульничество. Университет ни за что не попытается лишить вас степени за удаление исходного кода. (Однако, если вы все еще беспокоитесь, вы можете посмотреть процедуры вашего университета по аннулированию степеней или поискать в Интернете аннулированные в прошлом степени.)

Я не призываю вас удалить код, и я не думаю, что вы должны это делать. Я хочу сказать, что речь идет о том, чтобы делать то, что вы считаете правильным (выполнять обещания, помогать другим людям, вносить свой вклад в познание мира), а не о том, что кто-то другой может попытаться заставить вас делать.

Смотрите редактировать, пожалуйста.