Announcement

Collapse
No announcement yet.

About my code for (floating) holidays in the USA

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • About my code for (floating) holidays in the USA

    Tonight I replaced my "USA Holidays" code in the Source Code Forum. To begin with, I added 6 non-floating Holidays, such as Independence Day (fourth of July), Halloween, Veterans Day etcetera. It returns a mixed list now, showing the 12 holidays in order of occurrence. If, for instance, you'd run it now, you see the date of Christmas Day for this year at the top of the list. But you still can create a list for any year of choice. Simply change the line "wYear = 0000" in the main module (PBMain).

    And in case you might be interested, this is the site where I found it all: http://www.usa.gov/citizens/holidays.shtml

    Egbert Zijlema, journalist and programmer (zijlema at basicguru dot eu)
    http://zijlema.basicguru.eu
    *** Opinions expressed here are not necessarily untrue ***

  • #2
    Fat-fingered me asked question in source code forum re this (replied to wrong message)...

    Question was, what is copyright/redistribution status of this code? I could not find in gregorian.inc #INCLUDE file nor with holiday source code forum post.

    Thanks,
    MCM
    Michael Mattias
    Tal Systems (retired)
    Port Washington WI USA
    [email protected]
    http://www.talsystems.com

    Comment


    • #3
      Free for use in your applications

      Hello Michael,

      Very good question, my friend.
      I'm not good in legal stuff, so I always try to avoid it. To put it simple: it is free code for programmers who want to include it in their applications, either commercial or not. So feel free to use it.

      I simply don't know how I should stamp it: public domain, copyrightfree... or what?

      O, btw, there is only one exception: in case you become a millionaire thanks to my brilliant code, I want a fair share

      Egbert Zijlema, journalist and programmer (zijlema at basicguru dot eu)
      http://zijlema.basicguru.eu
      *** Opinions expressed here are not necessarily untrue ***

      Comment


      • #4
        The it is "copyright with a license granted to the public-at-large to use and redistribute without registration or royalty any compiled form of the code. Re-distribution of source code prohibited without additional license."

        Or maybe you meant "Source code may only be restributed when incorporated into another application for which source code is redistributed and may not not be redistributed on a standalone basis or included in a collection of programming libraries and/or other redistributed products without obtaining an additional license."

        The bottom line is, if you wish to retain ANY control of the code, you must retain (and defend if necessary) your copyright.

        (which, by the way... gives you the right to insist on royalties only if the user makes 'X' dollars or more using it... as strange as that may sound, that's perfectly legal albeit nearly impossible to enforce).

        America: Land of the .... lawyers.

        MCM
        Michael Mattias
        Tal Systems (retired)
        Port Washington WI USA
        [email protected]
        http://www.talsystems.com

        Comment


        • #5
          PS: the use I am thinking of is case 2: I create an application using the code and my client ether owns or licenses the source code.
          Michael Mattias
          Tal Systems (retired)
          Port Washington WI USA
          [email protected]
          http://www.talsystems.com

          Comment


          • #6
            Can your customers read the code?

            Which means, your client(s) can read my source code?
            My first question is, why should a programmer pass his sources to his customers? But if this appears to be normal practice in the land of the lawyers (except in Redmond ) then indeed I think it's better to retain my copyright instead of having my name reported as the developer (which is the case now). What is your advice and who else is willing to shed a light on this subject?

            Egbert Zijlema, journalist and programmer (zijlema at basicguru dot eu)
            http://zijlema.basicguru.eu
            *** Opinions expressed here are not necessarily untrue ***

            Comment


            • #7
              >My first question is, why should a programmer pass his sources to his customers?

              Huh?

              First of all, it might be signficant to note that I was a user-purchaser of software development services before I changed to this side of the desk; it no doubt influences my feelings on the subject.

              Any user who has pays to have custom code developed and does NOT contract for access to the source code is an idiot.

              For that matter, if the code is 100% developed for a user on a time-and-materials basis, and there is nothing to the contrary in a written agreement, the work product (the source code) is by default a "work for hire" and - when paid for - the property of the contractee; refusal to turn over the source code in this case is out-and-out theft.

              Any so-called professional developer who refuses to license or turn over the source code under these conditions ought to strung up by a tender body part. Or maybe shot. For sure drummed out of the business.

              Second of all, that you develop a library routine routine which is used by another, you incur no liability.
              Either:
              • You place the code in the public domain, in which case you no longer own it, so you can't be liable for anything
              • You retain the copyright and offer a general license with the appropriate disclaimer that no warranty express of implied accompanies that license; in which case you are explicitly "off the hook"


              Lastly....in the Real World, the customer could not care less where you got your library code... he bought from YOU and YOU are responsible, period.


              MCM
              Michael Mattias
              Tal Systems (retired)
              Port Washington WI USA
              [email protected]
              http://www.talsystems.com

              Comment


              • #8
                Just for the heck of it, here are the relevant paragraphs from the contract I use for custom software development.

                Use/modify as you see fit. (i.e. [previously] "placed in the public domain")

                Proprietary Rights

                CLIENT shall be the sole and exclusive owner of all right, title, and interest (including patent rights, copyrights, trade secret rights, mask work rights, trademark rights, and all other intellectual and industrial property rights of any sort throughout the world) in and to, free from any claim, lien for balance due or rights of retention thereto on the part of Contractor, any and all inventions (whether or not patentable), works of authorship, mask works, designations, designs and information made or conceived or reduced to practice, including but not limited to source code and associated documentation, in whole or in part (collectively hereinafter "Deliverables") created or developed by Contractor pursuant to this agreement and not otherwise specified in writing.
                Contractor shall promptly disclose and provide all Deliverables to CLIENT. All Deliverables shall constitute "work made for hire" to the extent allowed by law, and Contractor hereby makes all assignments necessary to accomplish the foregoing ownership. Contractor further shall assist CLIENT, at CLIENT's request and expense, to evidence, record and perfect such assignments and rights, and to perfect, obtain, maintain, enforce and defend any rights assigned.

                ....

                Contractor further warrantees to Licensee that he is the legal holder of all rights to provide the Software, that such rights or the underlying author's rights are not subject to any lien, encumbrance, limitation, injunction or other disability; that where permissions to utilize program code developed by others are required, such permissions have been lawfully secured by Contract\or; and that the Software does not contain any artificial limitations on use (e.g., there are no limits on the number or dates of use).

                There is no warranty or guarantee of suitability for use for any specific application except the specific purpose detailed in Appendix A.
                If source code is included in the software, copyrights may exist on selected portions of "header" files for Operating system calls and/or third-party libraries; CLIENT agrees to respect such copyright notices as specified in these files. As originally designed the software requires header files copyright Microsoft Corporation and PowerBASIC Inc.; in both cases CLIENT acquires the automatic full use license specified therein.

                When source code is included in the deliverables no operating systems, compilers, linkers, software development kits or associated documentation are included unless explicitly detailed. Contractor will supply CLIENT a list of any such products and potential vendors for same. Contractor does not serve as a reseller or support organization for any such products.
                MCM
                Michael Mattias
                Tal Systems (retired)
                Port Washington WI USA
                [email protected]
                http://www.talsystems.com

                Comment


                • #9
                  Copyleft

                  From Egbert:

                  Originally posted by Egbert Zijlema View Post
                  I simply don't know how I should stamp it: public domain, copyrightfree... or what?
                  . . .
                  I think it's better to retain my copyright instead of having my name reported as the developer (which is the case now). What is your advice and who else is willing to shed a light on this subject?
                  Copyleft From Wikipedia, the free encyclopediaWikipedia
                  Copyleft is a play on the word copyright and is the practice of using copyright law to remove restrictions on distributing copies and modified versions of a work for others and requiring that the same freedoms be preserved in modified versions.
                  Copyleft is a form of licensing and may be used to modify copyrights for works such as computer software, documents, music, and art. In general, copyright law allows an author to prohibit others from reproducing, adapting, or distributing copies of the author's work. In contrast, an author may, through a copyleft licensing scheme, give every person who receives a copy of a work permission to reproduce, adapt or distribute the work as long as any resulting copies or adaptations are also bound by the same copyleft licensing scheme. A widely used and originating copyleft license is the GNU General Public License. Similar licenses are available through Creative Commons - called Share-alike.
                  Also, look here.

                  And here.
                  Regards,
                  Bob

                  Comment


                  • #10
                    Long and short of it, one time I wrote some code for a small company, did not care about the code for it, they can have it, I would never need it. But as discussions went on, I had a family friend (a lawyer) draft something up, and wouldn't you know it, the company tried to say a "For...Next" loop was their property.

                    I thought they MUST be kidding until I got served papers
                    Needless to say, all it took was a lucky stroke that some kids were on a field trip to the courtroom, and I asked if any of them had ever written any code in any language? Quite a few nervously raised their hands. And as soon as I asked "Ever hear of a For....Next loop?" They burst out snickering and comments like "SHUUUUUyyyyyaaaa....like who hasn't?"

                    Next sounds I heard was a bang...and the words "Case Dismissed"

                    Short of it...if you do work for someone else, make sure you know what you are getting into, and hire a lawyer to cover you in case you do not understand all the "Legal-ize"
                    Engineer's Motto: If it aint broke take it apart and fix it

                    "If at 1st you don't succeed... call it version 1.0"

                    "Half of Programming is coding"....."The other 90% is DEBUGGING"

                    "Document my code????" .... "WHYYY??? do you think they call it CODE? "

                    Comment


                    • #11
                      Good story, Cliff, but let me take exception to one thing you said: ".. hire a lawyer to cover you.."

                      This is IMO a total waste of time and money.

                      There are plenty of 'boilerplate' contracts floating around the internet, and if you don't feel like like searching, you can always take the time to actually READ the licenses for the software you have installed yourself... you know, where you click "I Agree" in auotmatic pilot mode when you finally get that CD out of the package and insert it in your drive?

                      My story about this goes back to the 1980's when I was general manager of a VAR firm. One of our competitors (if you must know it was Prophet/21) started offering a form of 'no-questions asked' money-back guarantee... very appealing in our business at that time.

                      Well, the owner, the executive VP, the VP/Sales and myself sat around to discuss this, and we decided we were willing to match - and exceed it - ourselves.

                      So, I drafted up new "Standard Terms and Conditions." As a matter of course I did send the draft to our corporate attorney, with his mission to ensure that the terms as worded accomplished the goal of our business decision to compete with Prophet/21.

                      Well, the lawyer came back and the first thing he told me was, "Mike, you DON'T want to do this!".

                      I had to explain to Steve that while his legal advice was appreciated - and what we were paying for - our business decisions were not open to review, especially by someone as clueless about the market as himself.

                      Steve then proceeded to move one paragraph from the middle of the document to the end - apparently legally whatever is said last counts for more.

                      Ok, so that's more a "why I don't particularly like lawyers" story than a copyright story, but the point is valid: Lawyers are not trained in business decisions, they are trained in the law (Duh!), and you don''t use a lawyer to consult on your business decisions.

                      Kind of reminds me of the old Joke.. just change "doctor" to "lawyer" and it still works:

                      Q: What's the difference between God and a doctor?
                      A: God doesn't think He's a doctor.

                      MCM
                      Michael Mattias
                      Tal Systems (retired)
                      Port Washington WI USA
                      [email protected]
                      http://www.talsystems.com

                      Comment


                      • #12
                        Originally posted by Egbert Zijlema View Post
                        Which means, your client(s) can read my source code?
                        My first question is, why should a programmer pass his sources to his customers?
                        This is the preferred way for me to buy/contract (customized) software for my company, too. That way you make sure you can alter the code even after the author has gone out of business.

                        Contracts for this typically include
                        a) the programmer's right to use algos/functions from that application in other application (in our business, there are typically no trade secrets/patented algos or things the like, that need to be covered).
                        b) our company's right to use/modify the acquired code to our needs. Typically we might not resell the application or use this code to build an application with identical functionality and resell this.

                        This to me seems the best for both. The programmer can reuse his own work ("code library") in other projects and we can modify the product as needed, even if the owner is no longer available.

                        Comment


                        • #13
                          >The programmer can reuse his own work ("code library")

                          That's only because of your "A" paragraph. Absent that, if you write code on contract as a 'work for hire' you have no right to use - or even retain - the client's source code.

                          This does get into what is 'common knowledge' (e.g. "FOR..NEXT") and/or 'previously developed copyright property of the author' but including a paragraph like this is a really good idea if you think you might like to re-use code you develop for a client.

                          E.g., I often build applications on my EDI API. The header ("#INCLUDE") file I use starts like this:

                          Code:
                          ' FILE: TSEDIAPI_3C.INC
                          ' ================================================================
                          ' Tal Systems EDI Scan Engine version 3.1.0
                          '  Copyright 1998, 2000, 2003 Michael C. Mattias Racine WI USA
                          ' =======================================================================================
                          ' This is a licensed product. This file may not be used or redistributed except pursuant
                          ' to a license granted by the copyright owner or designated agent.
                          ' =======================================================================================
                          Now it's covered by my "included copyright notices" statement.





                          MCM
                          Last edited by Michael Mattias; 11 Dec 2007, 09:25 AM.
                          Michael Mattias
                          Tal Systems (retired)
                          Port Washington WI USA
                          [email protected]
                          http://www.talsystems.com

                          Comment


                          • #14
                            Floating holidays-code is public domain now

                            For your interest: the code for the little app. that returns the dates of holidays in the US, as presented in the Source Code Forum, is public domain now.

                            And the Gregorian library? Well, not yet. I still discuss it with my lawyers . But I give you this tip: don't #INCLUDE the library but physically copy it (or the parts you need) into the holidays code, which makes it PD as well.

                            And mind you, there is no warranty, not even as far as one can p.. under cold weather conditions
                            Last edited by Egbert Zijlema; 13 Dec 2007, 05:49 PM.

                            Egbert Zijlema, journalist and programmer (zijlema at basicguru dot eu)
                            http://zijlema.basicguru.eu
                            *** Opinions expressed here are not necessarily untrue ***

                            Comment

                            Working...
                            X