I myself have also repeatedly experienced that after a while links have led to no longer existing destinations (in the German PB forum I am a member since 2005). Therefore, I can agree with this. However, I have also had the experience of members leaving the forum because of a dispute and deleting all forum posts beforehand.Bitblazer wrote:Like many other old time users here, i did often run into sources and example / tool links to private websites, source repositories, ftp hosts etc. which disappeared throughout the years. Actually posting a source on the purebasic forum, was by far the most reliable and stable archive method.
Apart from the fact that the Wayback Machine, while more reliable, is also an external service that could be shut down at some point.Bitblazer wrote:Here have a look at the PureBasic forum from 20 years ago thanks to the Wayback machine.
When searching for an older source code, in most cases a specific version number is searched for instead of a date when it was archived. Therefore, the wayback engine is not useful for searching specific source code versions.
Many already posted source codes go far beyond 75 lines, but this is not a big resource consumption. It would look different if many forum members start posting also the binary files belonging to the source codes (images, music etc.) encoded as Base64 in the forum.Bitblazer wrote:The real downside i see, is that it would create too much resource use (cost) for the forum if we started to post all "important" sources to a subsection of the forum
But maybe essential snippets of max 75 lines would be acceptable.
It's not that simple. Let's assume the following scenario: The module source code has been published, is downloaded by another programmer for the first time, and the module has another module in a specified version as a dependency. So there is no local copy of all module-required source codes on the programmer's side.Bitblazer wrote:Oh and about the "keeping old nonbuggy versions" point. At the time you use a modules, you compile it with a copy of the modules on your storage anyway. Simply create backups of any working project. Archive it whenever a project has a working or significant status (like a release version always should be archived for years for commercial projects).
This does not justify going the wrong way again and again and publishing source codes without OpenSource licenses. The source code copyright holder shoot themselves in the own leg with it, because many programmers avoid source codes without OpenSource license for own (OpenSource) projects.Saki wrote:Furthermore, probably no one will notice or determine this.
With a niche software it will not be public anyway and it is not immediately visible whether the software was created with PB or whatever.
So there is always a difference, you are not allowed to do everything, but people tend to do what they are not allowed to do or should not do.
Small snippets of source code may not have the required threshold of originality for copyright to exist, but when the threshold is reached is not firmly defined and can only be answered by a lawyer.
Everyone can do it the way he wants, it's just well-intentioned advice from my side.
Maybe this will help you:mk-soft wrote:The Linux version is not quite perfect with the "Locale" option.
Code: Select all
Structure tm Align #PB_Structure_AlignC
tm_sec.l ; 0 to 59 or up to 60 at leap second
tm_min.l ; 0 to 59
tm_hour.l ; 0 to 23
tm_mday.l ; Day of the month: 1 to 31
tm_mon.l ; Month: 0 to 11 (0 = January)
tm_year.l ; Number of years since the year 1900
tm_wday.l ; Weekday: 0 to 6, 0 = Sunday
tm_yday.l ; Days since the beginning of the year: 0 to 365 (365 is therefore 366 because after 1. January is counted)
tm_isdst.l ; Is summer time? tm_isdst > 0 = Yes
; tm_isdst = 0 = No
; tm_isdst < 0 = Unknown
CompilerIf #PB_Compiler_Processor = #PB_Processor_x86
tm_gmtoff.l ; Offset of UTC in seconds
*tm_zone ; Abbreviation of the time zone
CompilerElse
tm_zone.l ; Placeholder
tm_gmtoff.l ; Offset of UTC in seconds
*tm_zone64 ; Abbreviation of the time zone
CompilerEndIf
EndStructure
#SecondsInOneHour = 60 * 60
Define tm.tm
Define utc, local, diff
Define diff$
utc = time_(0)
If localtime_r_(@utc, @tm) <> 0
local = timegm_(@tm)
EndIf
diff = (local - utc) / #SecondsInOneHour
If diff > -1
diff$ = "UTC +" + Str(diff)
Else
diff$ = "UTC -" + Str(diff)
EndIf
Debug "UTC: " + Str(utc)
Debug "LOCAL: " + Str(local)
Debug "DIFF: " + diff$
Sorry for triggering the discussion. Maybe a forum moderator can move it to a separate forum thread if it gets too much.