Jump to content

When to give appropriate credit to other forum/AutoIt users for shared code?

Recommended Posts

I'd like to understand what the preferred practice is for copying/pasting/modifying/using shared code. Is there a a community standard for giving credit in our scripts/applications?

As an example, I was interested in using bits and pieces of some code I found in the forum and at the top of the example code block, was a line declaring credit.

;Folder "Egg-Crack" tool :) - Idea by @gamingmouse, coding by G.Sandler (MrCreatoR).

Is that something I should retain as-is or is it acceptable to provide credit in another way such as a credits page? Is there any special consideration for commercial products where we might not want certain terms, language, and/or unnecessary noise.

Link to post
Share on other sites

If you are using code written by others then you should credit the original authors. If you look at the standard UDF-spec you will notice there are sections in the header for each function where you can type the Author's name and other information about modifications made by different Authors. I would stick to something like that.

Depending on how much code you use, I would make it clear that your program has been made possible thanks to the efforts of others and name all the authors. Perhaps a simple list will suffice. If you are unsure (perhaps because of a legal notice) try contacting the original author.

Link to post
Share on other sites

Whenever I put a one-off function from the forum into an include I put the URL of the post in the comments for the function. I also cite the name or handle of the author. If I modify a UDF then I'll comment my mods and generally leave the original lines commented out. Unless it's like an entire rework that's just inspired by the idea. In the latter case I'll just refer to the original work.

Edited by MilesAhead
Link to post
Share on other sites

Some legal notes on free code with proprietary software.

When a copyright notice is available, such as GPL / MIT / Apache etc., the case is clear. You must stick to the terms under the license. When a copyright notice is NOT available, then the work belongs to the original author. If the author states his own terms without using a license, then you can use it as long as you don't break those mentioned terms. If the author does not state how it can be used, then I think you are legally not allowed to use it. However, considering this forum is intended for the sharing of code to be used by anyone, all the code here that doesn't fall under a license or other terms, fall under the public domain. You can consider these free to be used and redistributed in any software under any license. In all cases above, if the author does not state if and how attribution should be done, then you are free to do as you please. Including not attribute at all.

Personal experience writing a proprietary application. It had to be distributed quickly. I used as much open and free libraries as possible and it ended up as about 1000 lines of my own code. That's nothing. When I had to distribute the application, I had to include a dozen licenses for the open source libraries. In the application GUI, I had to attribute some of the libraries as well. It was truly a hell to include every term according to each libraries own license.

After that (and other similar such bad experiences), I have never asked for my source code to be attributed. Many others on this forum feel the same way, and are fine with their code being reused and sold by others. Without attribution. It is always appreciated however! An upside is that if you accredit a library, the author of that library can be tracked down to fix bugs instead of you being asked to do it.

As for a standard on this forum, there is none. Keep the library in its original form, especially all comments and headers. Link to the topic or post where you found it (for convenience). If you want, you can thank the author of a library which was important to you. For example if you are building an FTP client with GUI, you can thank the author of the FTP library you used. Don't thank the author of Array.au3. You get the idea.

Edited by Manadar
Link to post
Share on other sites

Thanks for the responses!

Manadar, I really appreciate your thorough response and for sharing your personal experiences. I think that gets me going in a good direction and will help me make better decisions around using libraries or other shared code.

Link to post
Share on other sites

Is this your first time coding?

UDF List:

_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Create New...