Юридическое доказательство того, когда функция была реализована [закрыта]

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

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

Обновление По завершении эта функция была протестирована и выпущена клиенту, и это сработало. И перечисленные в примечаниях к выпуску. Также я уже вручил адвокату даты выпуска и примечания к выпуску (когда они существовали). Однако этого было недостаточно. Мне нужно показать, как я получил даты. Я вытащил их из своих баз данных управления исходным кодом (Sourceforge, Subversion, Mercurical), поэтому, как я помещал данные в свой исходный контроль в форме, которую может понять нетехнический непрофессионал.

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

6 голосов | спросил RS Conley 10 PM00000040000002731 2011, 16:29:27

10 ответов


12

Это юридический вопрос, поэтому вам нужно четко определить свои термины, иначе ответ будет, как и с каждым юридическим вопросом, «это зависит».

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

Во-вторых, что вы подразумеваете под «полным»? В верхней части моей головы я могу представить три определения:

a) Код завершен - разработчик закодировал все в грубой рабочей форме, провел базовое тестирование и проверил его в исходном контроле. Это хорошо работает как определение, поскольку контроль источника дает вам не только дату, но и способность создавать точную копию того, что существовало в данный момент времени.

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

c) Выпущена - точка, в которой она была доступна для пользователей. Потенциально значимый, поскольку это может быть тот момент, когда другие могли бы узнать об этом и скопировать его.

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

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

Хотя это может не содержать строгих «доказательств», поскольку это гражданский случай, он, вероятно, будет достаточным, если нет веских оснований сомневаться в этом. В гражданском случае бремя не является «разумным сомнением», как в уголовном деле, оно намного ниже. Это означает, что, если вы производите разумные доказательства в отношении чего-то, им придется произвести что-то, чтобы поставить под сомнение, или оно, скорее всего, будет принято.

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

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

Но первые вещи - поговорите с ним и получите строгое определение терминов.

ответил Jon Hopkins 10 PM00000050000003931 2011, 17:27:39
7

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

ответил Wyzard 10 PM00000040000000531 2011, 16:32:05
5

Есть ли у вас электронная почта, указывающая на то, что клиент или конечные пользователи в какой-то момент успешно использовали эту функцию?

Если нет, возможно, если у вас есть процесс QA, может быть инженер QA, который бы сделал заметки в какое-то время и «отключил» реализованную функцию, которая могла бы подписать аффидавит.

ответил aceinthehole 10 PM00000040000000531 2011, 16:49:05
2

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

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

ответил JeffO 10 PM00000040000001431 2011, 16:42:14
2

Этот вопрос не является однозначным. Но если вы хотите «доказать», что функция работает, вам, вероятно, потребуется, чтобы клиент подписал, что указанная функция была доставлена ​​и функционировала правильно. В противном случае функциональность, по-видимому, будет передана и , чтобы она работала.

ответил GrandmasterB 10 PM000000100000002731 2011, 22:26:27
2

Вы работаете над контрактом, в котором говорится, что эта функция завершена, когда клиент подписывается на приемочных тестах для этой функции. Когда клиент подписывается, он представляет собой юридическое признание того, что эта функция завершена.

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

Само собой разумеется, что требования должны быть четкими и недвусмысленными.

ответил Robert Harvey 10 PM000000110000003131 2011, 23:11:31
1

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

Они должны быть датированы и должны быть достаточно доказательными. Однако я не юрист, поэтому я не знаю, считаются ли компьютерные журналы достаточным доказательством.

Если у вас есть другая документация - спецификации требований и т. д., они должны быть датированы и помогут.

ответил ChrisF 10 PM00000040000004531 2011, 16:33:45
1

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

ответил woliveirajr 10 PM00000040000005631 2011, 16:41:56
1

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

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

ответил Ken Brittain 10 PM00000040000003531 2011, 16:52:35
0

Я бы сказал, что функция была реализована в момент выпуска финальной версии (до исправления ошибок). Если алгоритм был построен 3/3/2001, но пользовательский интерфейс не был закончен до 10/26/2001; эта функция будет реализована 10/26/2001. Эта дата является датой реализации, независимо от исправлений ошибок, которые произошли впоследствии.

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

Надеюсь, я не понял ваш вопрос неправильно, и я надеюсь, что это поможет.

ответил Kristofer Hoch 10 PM00000040000005031 2011, 16:55:50

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132