I can't answer this any slurm-specific case, but it's definitely
possible for a piece of software to be licensed under GPL, and still
have a fee associated with it.

See this for more info:
> https://www.gnu.org/licenses/gpl-faq.html#DoesTheGPLAllowDownloadFee



Lloyd Brown
Systems Administrator
Fulton Supercomputing Lab
Brigham Young University
http://marylou.byu.edu

On 11/07/2014 02:46 PM, José Román Bilbao Castro wrote:
> Hi Ralph,
> 
> Is this one for me, the original poster or for both of us?. Anyway, just
> out of curiosity (as I am not familiar with licensing issues), how do
> third party software that uses SLURM does to make you pay so much money
> in licenses while not breaking GPL rules?, do they use system calls?. I
> never liked systems calls... For example EngineFrame...
> 
> Thanks in advance
> 
> Enviado desde mi iPad
> 
> El 7/11/2014, a las 22:02, Ralph Castain <[email protected]
> <mailto:[email protected]>> escribió:
> 
>> Just be sure you understand that by using slurm.h and linking against
>> libslurm, your application will become GPL. IANAL, so you should check
>> with one, if you care.
>>
>>
>>
>>> On Nov 7, 2014, at 11:14 AM, José Román Bilbao Castro
>>> <[email protected] <mailto:[email protected]>> wrote:
>>>
>>> Going even further, I have realized you are following an outdated
>>> documentation (12 releases behind from current one which is 14!!).
>>>
>>> Here is the current API:
>>>
>>> http://slurm.schedmd.com/api.html
>>>
>>> Have a look at the "Resource allocation" section, not the job steps one:
>>>
>>>   * *slurm_init_job_desc_msg*—Initialize the data structure used in
>>>     resource allocation requests. You can then just set the fields of
>>>     particular interest and let the others use default values.
>>>   * *slurm_job_will_run*—Determine if a job would be immediately
>>>     initiated if submitted now.
>>>   * *slurm_allocate_resources*—Allocate resources for a job. Response
>>>     message must be freed
>>>     using /slurm_free_resource_allocation_response_msg/ to avoid a
>>>     memory leak.
>>>   * *slurm_free_resource_allocation_response_msg*— Frees memory
>>>     allocated by /slurm_allocate_resources/.
>>>   * *slurm_allocate_resources_and_run*—Allocate resources for a job
>>>     and spawn a job step. Response message must be freed
>>>     using/slurm_free_resource_allocation_and_run_response_msg/ to
>>>     avoid a memory leak.
>>>   * *slurm_free_resource_allocation_and_run_response_msg*— Frees
>>>     memory allocated by /slurm_allocate_resources_and_run/.
>>>   * *slurm_submit_batch_job*—Submit a script for later execution.
>>>     Response message must be freed
>>>     using /slurm_free_submit_response_response_msg/ to avoid a memory
>>>     leak.
>>>   * *slurm_free_submit_response_response_msg*— Frees memory allocated
>>>     by /slurm_submit_batch_job/.
>>>   * *slurm_confirm_allocation*—Test if a resource allocation has
>>>     already been made for a given job id. Response message must be
>>>     freed using/slurm_free_resource_allocation_response_msg/ to avoid
>>>     a memory leak. This can be used to confirm that an allocation is
>>>     still active or for error recovery
>>>
>>> The steps one is to manage the steps concept I suppose. I mean, once
>>> you submit a job it follows a series of steps that change its status.
>>> I think this is the concept of step here. Steps should not be created
>>> nor modified by the user but by the scheduler itself. So it is up to
>>> the programmer to submit a job and query steps if needed, but not to
>>> modify them...
>>>
>>> By the way, I have never programmed using slurm but I think I could
>>> be correct ;). If not, I will be delighted to get responses because I
>>> will be using job submission API in a few days!
>>>
>>> Bests
>>>
>>>
>>>
>>>
>>> Enviado desde mi iPad
>>>
>>> El 7/11/2014, a las 20:02, José Román Bilbao Castro
>>> <[email protected] <mailto:[email protected]>> escribió:
>>>
>>>>
>>>> I have read a bit further. I think this can be a misunderstanding of
>>>> documentation. It does not say you cannot submit jobs but that you
>>>> should use this API to create and populate new jobs information. There
>>>> is a structure that defines a job but it shouldn't be manipulated
>>>> directly but through the API. Once the job is defined, you can submit
>>>> it using a different API:
>>>>
>>>> http://slurm.schedmd.com/launch_plugins.html
>>>>
>>>> Have a look at the last sentence on the first section. It states to
>>>> have a look at the src/plugins/launch/slurm/launch_slurm.c  file.
>>>>
>>>> Also, for a broader picture, have a look at this page on the
>>>> Developers section:
>>>>
>>>> http://slurm.schedmd.com/documentation.html
>>>>
>>>> Specially on the Design subsection where the process of creating and
>>>> submitting a job is further described (it consists of multiple steps
>>>> and APIs).
>>>>
>>>> Hope this helps
>>>>
>>>> Enviado desde mi iPad
>>>>
>>>>> El 7/11/2014, a las 16:08, Всеволод Никоноров
>>>>> <[email protected] <mailto:[email protected]>> escribió:
>>>>>
>>>>>
>>>>> Hello Walter,
>>>>>
>>>>> Maybe you could just use "system" function?
>>>>>
>>>>> #include <cstdlib>
>>>>> #include <cstdio>
>>>>> int main (int argc, char** argv)
>>>>> {
>>>>>   printf ("begin\n");
>>>>>   system ("sleep 1");
>>>>>   printf ("end\n");
>>>>> }
>>>>>
>>>>> Place you sbatch call instead my "sleep 1", shouldn't this do what
>>>>> you want?
>>>>>
>>>>> 06.11.2014, 09:49, "Walter Landry" <[email protected]
>>>>> <mailto:[email protected]>>:
>>>>>> Hello Everyone,
>>>>>>
>>>>>> What is the recommended way for a C++ program to submit a job? О©╫The
>>>>>> API documentation says
>>>>>>
>>>>>> О©╫О©╫SLURM job steps involve numerous interactions with the slurmd
>>>>>> О©╫О©╫daemon. The job step creation is only the first step in the
>>>>>> О©╫О©╫process. We don't advise direct user creation of job steps, but
>>>>>> О©╫О©╫include the information here for completeness.
>>>>>>
>>>>>> Should I use system("srun")? О©╫DRMAA?
>>>>>>
>>>>>> Thank you,
>>>>>> Walter Landry
>>>>>> [email protected] <mailto:[email protected]>
>>>>>
>>>>> --О©╫
>>>>> Vsevolod Nikonorov, JSC NIKIET
>>>>> О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫
>>>>> О©╫О©╫О©╫О©╫О©╫О©╫
>>

Reply via email to