Wikidata talk:WikiProject Informatics/Software

Obsolete software versions edit

I just have a discussion about obsolete software versions (in french).

To summarize, sometime project developers maintain simultaneously two versions/branches (like 3.4.X and 3.3.X) and the oldest become obsoletes. I suggest to add version type (P548) : obsolete version (Q21683863) to these versions instead of marking the statement as deprecated (the statement is still true because the version wasn’t unpublished).

Do you have any other suggestion ? Do you think we have to add it to the documentation ?

This could look like this :

Click [expand] to view the content
  • Version :
    • 1.1 (rank : normal) [actual old-stable branch]
      • publication date : 01 January 2012
      • type : long-term support
      • type : obsolete version
    • 1.2 (rank : normal) [actual old-stable branch]
      • publication date : 01 February 2016
      • type : stable version
      • type : obsolete version
    • 2.1 (rank : normal) [actual stable branch]
      • publication date : 15 January 2016
      • type : stable version
      • type : obsolete version
    • 2.2 (rank : preferred) [actual stable branch]
      • publication date : 15 February 2016
      • type : stable version
    • 3.1 (rank : normal) [actual stable branch]
      • publication date : 15 February 2016
      • type : stable version
      • type : obsolete version
    • 3.2 (rank : preferred) [actual stable branch]
      • publication date : 01 Mars 2016
      • type : stable version
    • 3.3-beta (rank : preferred) [beta version for the actual stable branch]
      • publication date : 01 Mars 2016
      • type : beta version

See Python (Q28865) for a simpler example (no old-stable version but 2 branches).

Metamorforme42 (discussion) 01:55, 3 August 2016 (UTC)Reply

  Support This makes sense to me. Dachary (talk) 08:10, 3 August 2016 (UTC)Reply
  Comment I always think we're missing something while using version number : we should have an item for things on which we want to give information on. I'd be for a similar model that there exists on Books : one item per work and treating realeases as editions. We should use has edition or translation (P747)  , this would deal with the branches problem: one edition per branch. author  TomT0m / talk page 10:16, 3 August 2016 (UTC)Reply
The Books model is good. We could add properties branch and branch of and put the software versions directly in the branches items with instance of obsolete branch (or branch if not obsolete) for the branch item and not for each statement.
With the branch system, it could also be easier to put the operating system directly on the branch (one branch per os when there are different version numbers for the different system). — Metamorforme42 (talk) 18:17, 3 August 2016 (UTC)Reply
  Comment Not easy to follow for old versions of GCC :( genium ⟨✉⟩ 21:18, 3 August 2016 (UTC). [Edit] It would be nice to sort the panels for better transclusion into wilipedia, i.e. 5.2.0, then 5.1.5, then 5.0.6, see Q10135 & fr.wp for the current stable versions. genium ⟨✉⟩ 23:04, 4 August 2016 (UTC)Reply
  Comment I don't understand why rank can't be set to obsolete… Please, see my latest edits on Q403539 to understand what I mean (sorry, it's just to illustrate this point) :
    • — Version :
      • 1.9.2 (rank : obsolete) [old stable branch not maintained anymore]
        • publication date : 2013-03-28
        • type : obsolete version
      • 1.12.12 (rank : obsolete) [old stable branch still maintained]
        • publication date : 2016-06-07
        • type : stable version
      • 1.12.13 (rank : normal) [old stable branch still maintained]
        • publication date : 2016-07-27
        • type : stable version
      • 2.0.4 (rank : obsolete) [actual stable branch]
        • publication date : 2016-06-07
        • type : stable version
      • 2.0.5 (rank : preferred) [actual stable branch, latest stable version]
        • publication date : 2016-07-27
        • type : stable version
genium ⟨✉⟩ 15:39, 5 August 2016 (UTC)Reply
Ideally, in this model, only the versions tagged with "prefered" or "normal" should be transcluded into wikipedia ;-) genium ⟨✉⟩ 16:02, 5 August 2016 (UTC)Reply
Rank can't be set as deprecated because the statement say the version 1.9.2 has been publicated on 2013-03-28 and it is true (in your example).
Case of correct deprecated rank use (note we care about the branch in this example) :
Click [expand] to view the content
Metamorforme42 (talk) 17:56, 5 August 2016 (UTC)Reply

language of work or name (P407) when to use it ? edit

In Songbird (Q632028) the language of work or name (P407) is set but I'm not sure I understand what it relates to. Is it the languages supported by the GUI ? Dachary (talk) 09:49, 3 August 2016 (UTC)Reply

I guess. The it.wikipedia say there are 98 localizzazioni. We should add one statement for each language and add a multiple languages statement with a preferred rank when there are many ; but this is an abandon-ware and I can't find the list of languages because the website for translations is down (and I can't find archives). — Metamorforme42 (talk) 17:33, 3 August 2016 (UTC)Reply

Understanding operating system (P306) edit

The operating system (P306) can be cross-platform (Q174666) which presumably means it's portable to any and all operating system (P306). This is, of course, theoretical because even the most portable software needs to be ported before it actually works on a given target. Is it correct to say that Music Player Daemon (Q1257936) is designed to be portable (hence the cross-platform (Q174666)) but it has actually been tested on some Operating Systems (hence Solaris (Q14646), OpenBSD (Q34215) etc.) ? Dachary (talk) 10:00, 3 August 2016 (UTC)Reply

Media Player Classic (Q855190) has something similar with language of work or name (P407) and multiple languages (Q20923490). Maybe the rationale is similar ? Dachary (talk) 10:13, 3 August 2016 (UTC)Reply
cross-platform : attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms.
multiple ≠ all
I think we should add cross-plateform with rank preferred if we know there are many os supported (but not necessary which os are; and if we know which os are, we should add them with a normal rank). See Help:Ranking.Metamorforme42 (talk) 17:41, 3 August 2016 (UTC)Reply

@ValterVB: I think you were involved into those itwiki infoboxes, it seems your input is needed here :) author  TomT0m / talk page 18:13, 3 August 2016 (UTC)Reply

If you talk about the use of cross-platform (Q174666) in field operating system (P306) in infobox Software I can say that isn't explained how we must used it, but IMHO must be used when the software can be used with more of 3 S.O. because the infobox can manage only 3 S.O. With wikidata I think that is better add all the S.O. in explicit manner and don't use cross-platform (Q174666). --ValterVB (talk) 19:26, 3 August 2016 (UTC)Reply
Or use only if all the OS/plateforms have statements and it is more pertinent to have cross-platform (Q174666) as default value ? — Metamorforme42 (talk) 20:32, 3 August 2016 (UTC)Reply

Imho we should review and clean the model about OSes and platforms. This seems to be broken. I think we should have a property "software required to run", for which we could put windows whatever, GNU/Linux, java 7, ... The "platform" property should be renamed "hardware requirement". What do you think ? author  TomT0m / talk page 19:39, 3 August 2016 (UTC)Reply

  Support Seems better. — Metamorforme42 (talk) 20:32, 3 August 2016 (UTC)Reply
  Support I also support the proposal to add "hardware requirement" and "software requirement" (or "X required to run") to end the ambiguity with the term "platform". Johanricher (talk) 09:04, 4 August 2016 (UTC)Reply
  Support Seems better. Dachary (talk) 11:01, 14 August 2016 (UTC)Reply

Locales of different operating systems edit

Dari (Q178440) has the locale fa_AF (Farsi in Afghanistan) on Linux and prs_AF in Windows 7. Do we have properties to save this information? There might be more OSs and also various Internet Standards for the locales? --Tobias1984 (talk) 19:42, 4 August 2016 (UTC)Reply

License of exported data edit

@Coyau: What do you think of the proposed qualifier to distinguish between the software license and the license applied to the data exported by the software ? Dachary (talk) 10:58, 14 August 2016 (UTC)Reply

A qualifier ? Why a qualifier ? A plain property seems better to me. Or an item for the data package when appropriate. author  TomT0m / talk page 11:33, 14 August 2016 (UTC)Reply
Also note that the construction
⟨ soft ⟩ has part(s) of the class (P2670)   ⟨ images ⟩
licence Search ⟨ CC0 ⟩
⟨ soft ⟩ has part(s) of the class (P2670)   ⟨ source code ⟩
licence Search ⟨ GPL ⟩
⟨ soft ⟩ has part(s) of the class (P2670)   ⟨ documentation ⟩
licence Search ⟨ GNU FDL ⟩
can be used and is very flexible. author  TomT0m / talk page 11:39, 14 August 2016 (UTC)Reply
A qualifier is appropriate because it explains in which context the license applies to the software. By default the license property implies distribution of the work as a whole. When part of the work is embeded in a user created content, another license may be applied. Most of the time the software license does not influence the licensing terms of user created content (i.e. if you write a novel with a text editor, the license of the text editor does not apply to the novel). But sometime part of the software is added (i.e libraries in case of a compilers, 3D shaders in the case of 3D models etc.) and the work as a whole (i.e. the user created content and the parts extracted form the software) must be licensed in accordance to both. In general, multiple licenses can be applied to a given software, depending on the context. Creating a property to express the combination of a license and a context is inflexible and will eventually require the creation of many properties. Using a qualifier to express the context in which the license is relevant is more flexible. The has part of the type examples you provide are excellent and it would be great if you could add them to the Software. It would make sense to have a MakeHuman (Q2626434) has part(s) of the class (P2670) data set (Q1172284) with a qualifier copyright license (P275) Creative Commons CC0 License (Q6938433). It is not very different from having a qualifier on the license but I think it looks better. Dachary (talk) 12:38, 14 August 2016 (UTC)Reply
I also support TomT0m's way to associate part of software to a specific license.
See Wikidata:Property_proposal/Archive/48#Datasets; Property:P2702 seems to be used for online database and not for softwares. — Metamorforme42 (talk) 15:37, 14 August 2016 (UTC)Reply
I tend to consider if there is no really convincing reason not to, we should broaden the scope of an existing property. Distribution of numerical stuffs is probably mostly the same in the case of databases and software. There is no need to have two properties, duplicate contraints that will be essentially the same, ... (as far as I know we can make properties subproperties of each other but the constraints are not inherited.) This is useless work. author  TomT0m / talk page 15:50, 14 August 2016 (UTC)Reply

  Done @Coyau: & @Metamorforme42: the property documentation was updated to recommend using copyright license (P275) as a qualifier of has part(s) (P527) as suggested by @TomT0m:. Dachary (talk) 12:54, 27 September 2016 (UTC)Reply

GPLvx vs GPL-x.0 edit

Hello, the most popular and usual way of talking about the GPL version 2 or 3 is to say GPLv2 or GPLv3… So I don't know it was changed to GPL-2.0 and GPL-3.0genium ⟨✉⟩ 14:19, 20 August 2016 (UTC)Reply

This suprised me as well, but it is explained in a rational way at https://www.wikidata.org/wiki/Talk:Q10513450. Dachary (talk) 12:15, 21 August 2016 (UTC)Reply

  Done

instance of (P31) abandonware (Q281039) edit

@Metamorforme42: I like the idea of using abandonware (Q281039) as an instance of (P31) software that is no longer maintained :-) Would you like me to document it based on what you did for LimeWire ? Dachary (talk) 09:48, 28 September 2016 (UTC)Reply

For the record also used at Hula (Q647951). Dachary (talk) 09:58, 28 September 2016 (UTC)Reply
  Done In the Properties section (P31). — Metamorforme42 (talk) 12:44, 29 September 2016 (UTC)Reply

Software and website edit

See the discussion initiated by TomT0m in the Informatics project.

Distinction between software and file format, in particular in compression edit

Hi, it seems that in many cases the file format (or the algorithm) and the software to manage it is collapse in one entity. See, for instance, bzip2 (Q283563) LHA (Q368782) ACE (Q288256) cpio (Q285296) Lempel–Ziv–Markov chain algorithm (Q2733) xz (Q162839) compress (Q291486)... This is mainly due to the fact that generally a single wikipedia page exists, which seems natural given that the two are closely related and can be described together.

It should be easy to create the appropriate missing entity in wikidata and make the proper connections between the two (in particular, using the readable file format (P1072) or writable file format (P1073) properties).

The problem is to define proper interlinks which means having to link two wikidata entites to one wikipedia page.

The Bonnie and Clyde problem seems to have being solved by linking to a redirect which points to the appropriate section (see Bonnie Parker (Q2319886) for example)

Trying to do that for the Gzip (file format) GZIP (Q10287816) and liniking to the new redirect en:Gzip (File format), I got an error message telling me that : "Le lien enwiki:Gzip est déjà utilisé par l’élément Gzip (Q283647)." In fact, wikidata follows the redirect which leads to the error.

Any hints on how to solve that ? Thanks Toto256 (talk) 08:47, 29 September 2016 (UTC)Reply

Do you mind if we move this topic to the Software talk subpage ? I don't know how to solve that but I ran into the same issue myself and would be very interested by a solution ;-) Dachary (talk) 11:56, 29 September 2016 (UTC)Reply
Please do, if you think we will get more answers... In fact, this seems to be a more generic problem but I don't know whereelse I can get the needed info. Toto256 (talk) 05:03, 30 September 2016 (UTC)Reply
@Toto256: Done. Not sure if that will trigger more interest though. With time maybe :-) Dachary (talk) 14:41, 30 September 2016 (UTC)Reply
@Toto256: Help develop WD:XLINK. author  TomT0m / talk page 18:43, 3 October 2016 (UTC)Reply

Creating individual items for each version of a software title? edit

  WikiProject Informatics has more than 50 participants and couldn't be pinged. Please post on the WikiProject's talk page instead.
  • I would like to create relationships between specific versions of a software title and readable and writable file formats.

One approach I see to achieve this is to create additional items for each version of a software title.

I'd be interested to hear thoughts about potential drawbacks of creating additional items for each version of a piece of software. YULdigitalpreservation (talk) 14:05, 27 February 2017 (UTC)Reply

  •   Support @YULdigitalpreservation: I broadly agree with the proposal, however would prefer that the names and definitions of "software", "version of software" and "build of software" be agreed upon and documented first. This documentation should ideally include subclass of (P279)/instance of (P31) relationships as well as properties expected to be used on items of each class. Some questions I foresee needing to be answered follow. How are branches in software (stable versus unstable branches, various forks of the same software, or distribution-specific branches including multiple extra patches) intended to be handled? How are modified versions of software bundled with other software (for example, LibreOffice bundling libraries) handled? Should subclasses of software be created for major versions/releases (Firefox v50), allowing subclasses of these major versions (i.e. minor versions) to inherit features from the parent class? Pixeldomain (talk) 23:20, 28 February 2017 (UTC)Reply
@Pixeldomain: Thank you for sharing your thoughts. I found your feedback to be very helpful. Let's work on defining and modeling these. I really like the idea of considering some type of inheritance for some of these relationships. YULdigitalpreservation (talk) 19:58, 1 March 2017 (UTC)Reply

How to define and model software version? edit

I'd be interested to hear what others thing about how we can define and model the concept of version. Of course we have software version identifier (P348), and it has a description that reads "version(s) of the software, current and past". We have version type (P548) that can be used to claim a version is a "stable" version, etc. As @Pixeldomain: mentioned in the topic above, we need to refine this further to be able to represent things like plugins, patches, software bundles, etc. YULdigitalpreservation (talk) 20:38, 2 March 2017 (UTC)Reply

Software abandoned edit

Hi, I would like to mark this extension as abandoned. I found the Abandonware "property" but I have no clue at all how to add it to the page. May somebody assist. Thanks and cheers --[[kgh]] (talk) 00:13, 28 March 2019 (UTC)Reply

Never mind. Found the way how to do it. Thanks and cheers --[[kgh]] (talk) 00:17, 28 March 2019 (UTC)Reply

Data model for software preservation and discovery edit

I have created 5 Wikidata items to describe the software ePADD. The goal is to use Wikidata to add and consolidate metadata and links about the software for discovery and preservation. Please comment on the suitability of the use of the properties listed and suggest better alternatives.

https://www.wikidata.org/wiki/Q59652265 for overall description using the following properties: instance of (P31) of open-source software logo image (P154) inception (P571) has edition (P747) to describe the 2 phases of the software, funded by different agencies [I can't find a Wikidata property to describe "phase". has edition is the closest I can get. Is that ok or should I propose a new property for "phase"?] language of work or name (P407) award received (P166) developer (P178) to describe the organization behind the project platform (P400) operating system (P306) readable file format (P1072) writable file format (P1073) programming language (P277) depends on software (P1547) source code repository (P1324) software version identifier (P348) to identify all published versions use (P366) to decrribe the main use of the software official website (P856) license (P275) described at URL (P973) to link to publications talking about the software Twitter username (P2002) YouTube video ID (P1651) to link to YouTube video talking about the software

https://www.wikidata.org/wiki/Q73153879 to describe one phase of the software using the following properties: instance of (P31) "open-source software" and "version, edition, or translation" has edition (P747) to list the specific version of the software edition or translation of (P629) contributor(s) to the creative work or subject (P767) publication date (P577) sponsor (P859) programmer (P943)

https://www.wikidata.org/wiki/Q73166047 to describe a specific version of the software using following properties: instance of (P31) "open-source software" and "version, edition, or translation" edition or translation of (P629) publication date (P577) user manual link (P2078) URL (P2699) to link to a "Virtual Machine of ePADD v7.1 in Ubuntu 18 created in VirtualBox 6.0" stored at the institution repository of the Stanford University SWH Release ID (P6138) to store the Permalink for the version of the software archived at the Software Heritage

Include information of humans that have used Emacs edit

This article lists some famous people that used Emacs (with references) at some point in their life. We could include that information by doing the following

I'm creating this discussion so that others can help include that information and encourage them to do the same (add this type of information) with the software of their interests.

The information can then be retrieved by using the following queries. If you don't see any result, it's because nobody has included the information yet.

SELECT DISTINCT
  ?human
  ?humanLabel
{
  ?emacs wdt:P31/wdt:P279* wd:Q189722.
  ?human wdt:P31 wd:Q5;
         wdt:P2283 ?emacs.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}
Try it!
SELECT DISTINCT
  ?human
  ?humanLabel
{
  ?emacs wdt:P31/wdt:P279* wd:Q189722;
         wdt:P1535 ?human.
  ?human wdt:P31 wd:Q5;
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}
Try it!

Rdrg109 (talk) 06:36, 4 December 2021 (UTC)Reply

Return to the project page "WikiProject Informatics/Software".